https://www.acmicpc.net/problem/2156
이게 내 코드고
n = int(input())
nums = [0] + [int(input()) for _ in range(n)]
if n <= 2:
print(sum(nums))
else:
dp = [0 for _ in range(n+1)]
dp[1], dp[2] = nums[1], nums[1] + nums[2]
for i in range(3, n+1):
dp_1 = dp[i-3] + nums[i-1] + nums[i]
dp_2 = dp[i-2] + nums[i]
dp[i] = max(dp_1, dp_2, dp[i-1])
print(dp[-1])
이건 블로그에서 긁어온 코드거든
n = int(input())
wine = [0]
for i in range(n):
wine.append(int(input()))
dp = [0] * (n+1)
dp[1] = wine[1]
if n > 1:
dp[2] = wine[1] + wine[2]
for i in range(3, n+1):
dp[i] = max(dp[i-2]+wine[i], dp[i-1], dp[i-3]+wine[i-1]+wine[i])
print(dp[n])
둘이 완전히 똑같은 코드 같은데 내껀 틀리고 긁어온건 정답 나옴... 왜지???
제출해보니까맞는데ㅁㅎ
어? 뭐짘ㅋㅋㅋㅋ