πŸ—οΈ Algorithm/🟩 λ°±μ€€

🟩 [λ°±μ€€] [Python] [DP] 2156번_포도주 μ‹œμ‹

Dbswnstjd 2022. 11. 26. 05:17

문제

https://www.acmicpc.net/problem/2156

 

2156번: 포도주 μ‹œμ‹

νš¨μ£ΌλŠ” 포도주 μ‹œμ‹νšŒμ— κ°”λ‹€. κ·Έ 곳에 κ°”λ”λ‹ˆ, ν…Œμ΄λΈ” μœ„μ— λ‹€μ–‘ν•œ 포도주가 λ“€μ–΄μžˆλŠ” 포도주 μž”μ΄ 일렬둜 놓여 μžˆμ—ˆλ‹€. νš¨μ£ΌλŠ” 포도주 μ‹œμ‹μ„ ν•˜λ €κ³  ν•˜λŠ”λ°, μ—¬κΈ°μ—λŠ” λ‹€μŒκ³Ό 같은 두 가지 규

www.acmicpc.net

풀이

# λ°±μ€€ 2156번 문제 - 포도주 μ‹œμ‹
n = int(input())
dp = [0]*10002
grape = [0]*10002
for i in range(1, n+1):
    grape[i] = int(input())

dp[1] = grape[1]
dp[2] = grape[1] + grape[2]

for i in range(3, n+1):
    dp[i] = max(dp[i-1], dp[i-3] + grape[i-1] + grape[i], dp[i-2] + grape[i])
print(dp[n])

DPλ₯Ό μ΄μš©ν•΄ κ°„λ‹¨νžˆ ν’€ 수 μžˆμ—ˆλ‹€.