Algorithm/백준

[백준] 2156번 포도주 시식

sirius 2021. 3. 8. 11:18
https://www.acmicpc.net/problem/2156
 

2156번: 포도주 시식

효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규

www.acmicpc.net

 

인덱스 신경쓸 것

 

import java.util.*;
import java.io.*;

public class Main {
 
  public static void main(String[] args) throws Exception {

    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    int[] arr = new int[N+1];
    int[] dp = new int[N+1];
    for(int i = 1 ; i <= N; i++) {
     arr[i] = sc.nextInt(); 
    }
    dp[1] = arr[1];
    if(N > 1) {
      dp[2] = arr[1] + arr[2];
    }
    for(int i =3; i <= N; i++) {
      dp[i] = Math.max(dp[i-1], Math.max(dp[i-2] + arr[i], dp[i-3] + arr[i-1] +arr[i]));
    }
    System.out.println(dp[N]);
 }
}