가오리의 코딩일기
[2156] 포도주 시식 본문
n = int(input())
dp = []
for i in range(n):
dp.append(int(input()))
list0 = [0]*n
list0[0] = dp[0]
if n > 1:
list0[1] = dp[0]+dp[1]
if n > 2:
list0[2] = max(dp[2]+dp[1], dp[2]+dp[0], list0[1])
for i in range(3, n):
list0[i] = max(list0[i-1], list0[i-3]+dp[i-1]+dp[i], list0[i-2]+dp[i])
print(list0[n-1])
n = int(input())
array = [0] * 10000
for i in range(n):
array[i] = int(input())
result = [0]*10000
result[0] = array[0]
result[1] = array[0]+array[1]
result[2] = max(array[2]+result[0], array[2]+array[1], result[1])
for i in range(3, n):
result[i] = max(array[i]+result[i-2], array[i] +
array[i-1]+result[i-3], result[i-1])
print(max(result))
POINT
- 포도주 잔을 선택하면 전부 마신다
- 연속 3잔을 마실 수 없다
- 가장 많은 양의 포도주를 마실 수 있도록 한다
ex) 6 10 13 9 8 1→ 6 10 9 8 = 33
'Python > 백준' 카테고리의 다른 글
[11055] 가장 큰 바이토닉 부분 수열 (0) | 2022.05.24 |
---|---|
[11053] 가장 긴 증가하는 부분 수열 (0) | 2022.05.24 |
[9465] 스티커 (0) | 2022.05.24 |
[2193] 이친수 (0) | 2022.05.24 |
[11057] 오르막 수 (0) | 2022.05.23 |