백준 알고리즘 2579번
다이나믹 프로그래밍
문제에 제시된 조건을 잘 확인하자..!!
파이썬
n = int(input())
s = [int(input()) for _ in range(n)]
dp = [0] * (n)
if len(s) <= 2:
print(sum(s))
else:
dp[0] = s[0]
dp[1] = s[0]+s[1]
for i in range(2,n):
dp[i]=max(dp[i-3]+s[i-1]+s[i], dp[i-2]+s[i])
print(dp[-1])
댓글남기기