baekjoon 2156
-
[java] 백준 알고리즘 2156번 포도주 시식 풀이알고리즘/백준 알고리즘 2018. 7. 20. 09:44
다이나믹 프로그래밍 문제다. 조건 1이야 마시고 그냥 놔두면 된다라서 알고리즘에서는 별 상관이 없는 것 같고, 조건 2를 만족시키는 것이 중요하다. 앞으로 사용할 변수 명에 대한 설명은 다음과 같다. quantityWine: 각각 포도주 잔의 양 sumQuantityWine: 해당 순서에서 포도주를 마실 수 있는 최대양 연속 3잔을 마실 수 없다는 말은 (4잔 이상 놓여있다는 전제 하에)1. 두 칸 전까지의 포도주를 마실 수 있는 최대양 + 현재의 포도주 잔 마시기 식: sumQauntityWine[현재-2] + qantityWine[현재] 2. 한 칸 전 포도주를 마시고 싶다면 중복을 피하기 위해 현재의 포도주 잔 위치에서 3칸 전까지의 포도주를 마실 수 있는 최대양 식: sumQauntityWine[..