[백준] 10872번 팩토리얼 _ 문제 풀이
1. 문제
https://www.acmicpc.net/problem/10872
2. 풀이
def fact(n):
if n == 0:
return 1
return n * fact(n-1)
print(fact(int(input())))
[백준] 18870번 좌표 압축 _ 문제 풀이
1. 문제
https://www.acmicpc.net/problem/18870
2. 풀이
python의 set, dictionary, list 를 이용하면 아래와 같이 손쉽게 문제를 해결할 수 있습니다.
N=int(input())
A=list((map(int,input().strip().split())))
B={}
for i, val in enumerate(sorted(list(set(A)))):
B[val] = i
for val in A:
print(B[val], end=' ')
[백준] 17143번 낚시왕 _ 문제 풀이
1. 문제
https://www.acmicpc.net/problem/17143
2. 풀이
삼성 SW 역량테스트 문제입니다. 전반적인 문제 이해는 쉽지만, 물고기의 이동을 구현하는 것이 다소 오래 걸렸습니다. 물고기의 이동을 어떻게 훨씬 더 간단하게 구현할까 생각했지만, 다른 풀이를 봐도 크게 쉽게 풀지는 못한 것 같습니다. 방향에 따라 일일히 구현해주어야 되는 문제인 것으로 보여집니다.
import copy
R, C, M = map(int, input().split())
fisher_c = 0
maps = [[[] for __ in range(C)] for _ in range(R)]
# d가 1인 경우는 ...
[백준] 20056번 마법사 상어와 파이어볼 _ 문제 풀이
1. 문제
https://www.acmicpc.net/problem/20056
2. 풀이
삼성 SW 역량테스트 문제입니다. 격자의 행과 열은 1번부터 N번까지 번호가 매겨져 있고, 1번 행은 N번과 연결되어 있고, 1번 열은 N번 열과 연결되어 있다라는 문장이 처음에는 좀 헷갈렸습니다. 좀 더 읽다보니 원형 큐와 같은 구조로 1과 N이 이어져있는 구조라는 것을 알게 되었습니다. 구현은 큰 문제 없이 잘 된 문제인 것 같습니다.
풀이 방법은 아래와 같습니다. 자세한 사항은 소스코드를 봐주세요.
불들을 저장하는 list 를 생성하여 [r, c, m, s, d] 값을 저장합니다.
불들을 이동 시킨 후에...
[백준] 10950번 A+B - 3 _ 문제 풀이
1. 문제
https://www.acmicpc.net/problem/10950
2. 풀이
for _ in range(int(input())):
print(sum(map(int,input().split())))
[백준] 15552번 빠른 A+B _ 문제 풀이
1. 문제
https://www.acmicpc.net/problem/15552
2. 풀이
import sys
for _ in range(int(sys.stdin.readline().strip())):
print(sum(map(int,sys.stdin.readline().strip().split())))
[백준] 2753번 윤년 _ 문제 풀이
1. 문제
https://www.acmicpc.net/problem/2753
2. 풀이
a = int(input())
print(1 if (not a%4 and a%100) or not a%400 else 0)
[백준] 2884번 알람 시계 _ 문제 풀이
1. 문제
https://www.acmicpc.net/problem/2884
2. 풀이
2.1. 풀이1
h, m = map(int, input().split())
print((h-1)%24 if m-45<0 else h,(m-45)%60)
2.2. 풀이2
a,b = map(int, input().split())
x = a*60 + b-45
print(x//60%24,x%60)
[백준] 20055번 컨베이어 벨트 위의 로봇 _ 문제 풀이
1. 문제
https://www.acmicpc.net/problem/20055
2. 풀이
삼성 SW 역량테스트 문제입니다. 삼성 문제에서 쉬운 편이라고 하지만 저는 시간초과로 많은 시간을 보냈습니다. 풀이 순서는 아래와 같습니다.
2.1. 시간초과 코드
이 문제를 풀때 자료구조는 리스트만 사용했고, 회전하는 경우에는 queue를 사용하는 것이 아니라 index만 하나씩 증가시켜서 시작점만 갱신해주는 방법을 사용했습니다. 로봇은 list에 들어있고, 들어온 순서대로 자신의 위치를 가지고 있습니다.
처음 푼 문제는 시간초과를 받았습니다. 아래와 같은 예제를 정답 소스코드에 넣어보면 199800 번의 roun...
[백준] 11286번 절댓값 힙 _ 문제 풀이
1. 문제
https://www.acmicpc.net/problem/11286
2. 풀이
해당 문제는 heap을 이용하여 문제를 해결해야 합니다. heap에 (절대값, 원래값) 을 넣어서 정렬하게 되면, 절대값 순서대로 정렬하고 절대값이 동일한 경우에는 원래값 순서대로 정렬하게 됩니다.
2.1. 시간초과 코드
python 에서 input 을 그대로 이용하면 heap 을 이용하더라도 시간초과가 발생하게 됩니다. 아래의 코드는 pypy로 제출해도 통과하지 못합니다.
N = int(input())
arr = []
for _ in range(N):
a, b = map(int, input().split()...
794 post articles, 80 pages.