{1, 3, 1, 5}
# 정수 N을 입력 받기
n = int(input()) # 4
# 모든 식량 정보 입력 받기
array = list(map(int, input().split())) # 1 3 1 5
# 앞서 계산된 결과를 저장하기 위한 DP 데이터 테이블 초기화
dp = [0] * 100
# BottomUp
dp[0] = array[0]
dp[1] = max(array[0], array[1])
for i in range(2, n):
dp[i] = max(dp[i-1], dp[i-2] + array[i])
print(dp[n-1]) # 8
[Python] 다이나믹 프로그래밍(11) - 금광 (0) | 2022.06.26 |
---|---|
[Python] 다이나믹 프로그래밍(10) - 효율적인 화폐 구성 (0) | 2022.06.25 |
[Python] 다이나믹 프로그래밍(7) - 다이나믹 Vs 분할 정복 (0) | 2022.06.24 |
[Python] 다이나믹 프로그래밍(6) - 피보나치 수열(동작분석) (0) | 2022.06.24 |
[Python] 다이나믹 프로그래밍(5) - 피보나치 수열(보텀업) (0) | 2022.06.24 |
댓글 영역