[백준] 2156: 포도주 시식

문제

문제 풀이

코드

package DP;

import java.util.Scanner;

public class ANS2156 {

    static int[] cost, dp;

    public static void main(String[] args){

        Scanner sc = new Scanner(System.in);

        //포도잔의 개수 입력(1-n)
        int n = sc.nextInt();
        cost = new int[n+1];
        dp = new int[n+1];



        for(int i = 1 ; i <= n ; i++){
            cost[i] = sc.nextInt();
        }

        dp[1] = cost[1];
        if(n > 1){
            dp[2] = cost[1] + cost[2];
        }

        for(int k = 3 ; k <=n ; k++){
            dp[k] = Math.max(dp[k-1], Math.max(dp[k-2] + cost[k], dp[k-3] + cost[k-1] + cost[k]));
        }

        System.out.println(dp[n]);

    }
}

효주만 최댓값으로 와인을 마신다라..
오늘 나도 와인이 마시고 싶은 날이었다 후. .
그래도 패턴을 찾기까지 근접했다..!!

좋은 웹페이지 즐겨찾기