포도주가 N개 있다고 가정할 때 나올 수 있는 경우의 수를 구해보자
맨 마지막 N개를 포함하는 두 가지 경우와 마지막 N을 포함하지 않는 한 가지 경우 총 3가지로 나누어진다.
1. N번째와 N-1번째를 고르고 N-3번째까지의 최댓값을 고르는 경우
2.N번째를 고르고 N-2번째까지의 최댓값을 고르는 경우
3. N-1번째까지의 최댓값을 구하는 경우
이를 점화식으로 나타내면(와인을 저장한 wine배열, 총 최댓값을 저장한 dp배열)
1. wine[N]+wine[N-1]+dp[N-3]
2.wine[N]+dp[N-2]
3.dp[N-1]
그리고 셋 중 제일 큰 값을 고르면 된다.
'Coding > 백준' 카테고리의 다른 글
11444번 피보나치 수 6 (0) | 2019.09.19 |
---|---|
1629번 곱셈 (0) | 2019.09.17 |
2606번 바이러스 (0) | 2019.09.09 |
10844번 쉬운 계단 수 (0) | 2019.09.06 |
3187번 양치기 꿍 (0) | 2019.09.06 |