이것이 코딩테스트다 with 파이썬 - Chp 8. 다이나믹 프로그래밍_3. 개미 전사

n = int(input())
k = list(map(int, input().split()))

d = [0] * 100

d[0] = k[0]
d[1] = max(k[0], k[1])
for i in range(2, n):
    d[i] = max(d[i-1], d[i-2]+ k[i])

print(d[i])

첫번째 요소와 두번째 요소는 먼저 값을 구해서 그중에서 큰 값을 기준으로 메모이제이션을 이용하여 정답을 도출하면 된다.

좋은 웹페이지 즐겨찾기