1일 1 알고리즘
[백준]포도주 시식
wallnut's
2020. 8. 15. 23:22
이번에는 각 포도주 잔에 들어있는 포도주의 양이 주어졌을 때 효주를 도와 가장 많은 양의 포도주를 마실수 있는 알고리즘을 작성하여봅니다.
wine = int(input())
wine_capa = [0]
result = [0 for _ in range(wine + 1)]
for _ in range(wine):
wine_capa.append(int(input()))
for i in range(1, wine + 1):
if i == 1:
result[1] = wine_capa[1]
elif i == 2:
result[2] = wine_capa[1] + wine_capa[2]
else:
result[i] = max(result[i-3] + wine_capa[i-1] + wine_capa[i], result[i-2] + wine_capa[i], result[i-1])
print(result[i])
result[i]의 최댓값을 구하는 것은 세 가지 방법에 의해 결정됩니다 처음에는 연속으로 두개를 마시거나 또는 하나 띄우고 하나를 마시거나 마지막으로 i번째를 마시지 않는 경우입니다.