전체 글 (171) 썸네일형 리스트형 [BOJ] [Python] 11399번 : ATM 시간이 짧은 순으로 처리해서 더하면, 최소 합이 된다. 2가지 방법으로 풀 수 있다. 1. 가로 tmp에 자기 차례까지 걸리는 시간을 저장한다. result는 각각 자기 차례까지 걸리는 시간의 총합을 저장한다. num = int(input()) li = list(map(int, input().split())) li.sort() tmp = li[0] result = 0 for i in range(len(li) - 1): tmp += li[i + 1] result += tmp print(result + li[0]) 2. 세로 인출 시간이 짧을수록 많이 더해지는 점을 이용한다. num = int(input()) li = list(map(int, input().split())) li.sort(reverse = .. [BOJ] [Python] 1697번 : 숨바꼭질 BFS를 이용해서 풀었다. li 리스트에는 방문할 위치를 차례대로 넣고, 방문하면 제거한다. 그리고 dp 리스트를 이용해서, 방문했던 위치는 재방문하지 않는다. 수빈이가 동생을 찾기까지 신경 쓴 것 1. 0 [BOJ] [Python] 1003번 : 피보나치 함수 처음에는 재귀함수를 이용해서 해결하려고 했다. 하지만 시간초과가 발생한다. for문으로 바꾸니 해결됐다. 0의 개수와 1의 개수를 각각 계속 누적시켜서 더해준다. num = int(input()) for _ in range(num): n = int(input()) zero = [0] * (n + 1) one = [0] * (n + 1) for i in range(n + 1): if i == 0: zero[0] = 1 elif i == 1: one[1] = 1 else: zero[i] = zero[i - 2] + zero[i - 1] one[i] = one[i - 2] + one[i - 1] print(zero[i], one[i]) 아래는 재귀함수를 이용한 풀이이다. def fibo(n): if n == .. 이전 1 ··· 43 44 45 46 47 48 49 ··· 57 다음