[백준 2156번] 포도주 시식 - DP
백준 2156번 동적 계획법(Dynamic Programming)으로 풀 수 있는 문제이다. 문제를 읽어보면, 포도잔의 개수가 N개 있고, 이를 선택하여 마실 수 있다. 그러나 조건이 있다. 연속해서 위치한 3잔을 모두 마실 수는 없다. 여기서 가장 많은 양의 포도주를 마실 수 있는 양은 얼마인지 구해야한다. 점화식을 생각하게 되었고, 이전에 풀어봤던 문제 유형이랑 비슷해서 방법을 떠올리는 건 쉽게할 수 있었다. 그러나, 하나 사소한 부분에서 실수로 return문을 적지 않아 '왜 틀렸지...'하며 시간을 조금 낭비했다. DP로 풀기 위해선 점화식을 세우는게 중요한데, 우선 초기 조건을 잘 확인해서 풀어야한다. N이 1, 2, 3일 때를 나누어서 초기 조건을 세웠다. if (N == 1) { System..
2020.10.02