[알고리즘/백준] 2156번 : 포도주 시식(python)

유현민·2022년 3월 30일
0

알고리즘

목록 보기
85/253
post-custom-banner

처음에는 마지막 와인을 무조건 마시는줄 알고 풀었다. 하지만 마지막 와인을 마시지 않는 경우도 생각해서 풀어야한다.

N = int(input())
a = [0]
for _ in range(N):
    a.append(int(input()))
dp = [0] * (N + 1)

if N == 1:
    print(a[1])
else:
    dp[1] = a[1]
    dp[2] = a[1] + a[2]
    for i in range(3, N + 1):
        dp[i] = max(dp[i-3]+a[i-1]+a[i], dp[i-2]+a[i], dp[i-1])
    print(dp[N])
profile
smilegate

0개의 댓글