p. 220
n=int(input())
array=list(map(int, input().split()))
d=[0]*100
d[0]=array[0]
d[1]=max(array[0], array[1])
for i in range(2,n):
d[i]=max(d[i-1],d[i-2]+array[i])
print(d[n-1])
for문을 이용하여 차례대로 식량창고를 보며 바로 전 식량창고 무리를 약탈하는게 좋은지, 지금의 식량창고 무리를 약탈하는게 좋은지 판단
마지막 배열에는 최대 식량이 저장되어있음
'코딩 테스트 > 다이나믹 프로그래밍' 카테고리의 다른 글
정수 삼각형 (0) | 2021.02.22 |
---|---|
금광 (0) | 2021.02.22 |
효율적인 화폐 구성 (0) | 2021.02.21 |
바닥 공사 (0) | 2021.02.21 |
1로 만들기 (0) | 2021.02.21 |
댓글