728x90
import java.util.Scanner;
public class BJ2156 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] glasses = new int[n+1];
int[] dp = new int[n+1];
for (int i = 1; i <= n; i++) {
glasses[i] = sc.nextInt();
}
//n이 1이상일때
if (n >= 1) {
dp[1] = glasses[1];
}
//n이 2이상일때
if (n >= 2) {
dp[2] = glasses[1] + glasses[2];
}
for (int i = 3; i <= n; i++) {
dp[i] = Math.max(dp[i-1], Math.max(dp[i-2] + glasses[i], dp[i-3] + glasses[i-1] + glasses[i]));
}
System.out.println(dp[n]);
}
}
dp[i-1]: 현재 잔을 마시지 않고 이전까지 마신 포도주의 최대 양을 그대로 유지하는 경우
dp[i-2] + glasses[i]: 현재 잔을 마시고, 그 직전 잔은 마시지 않으면서 (i-2)번째 잔까지의 최대 양을 취하는 경우
dp[i-3] + glasses[i-1] + glasses[i]: 현재 잔과 바로 이전 잔을 연속으로 마시고, 그 직전의 (i-3)번째 잔까지 마신 포도주의 최대 양을 더하는 경우
728x90
'백준' 카테고리의 다른 글
백준 9663 - Java (1) | 2024.11.09 |
---|---|
백준 14501 -Java (0) | 2024.11.08 |
백준 1715 - Java (0) | 2024.11.06 |
백준 2217 - Java (0) | 2024.11.06 |
백준 1026 - Java (1) | 2024.11.05 |