카테고리 없음

백준 2597

슴새 2021. 7. 27. 05:13
반응형

import java.util.Scanner;
 
public class Main{
    static public void main(String args[]){
    	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>=2)dp[2]=arr[1]+arr[2];
        if(n>=3) dp[3]=Math.max(arr[1]+arr[3],arr[2]+arr[3]);
        
        for(int i=4;i<=n;i++){
            dp[i]=Math.max(dp[i-3]+arr[i-1]+arr[i],dp[i-2]+arr[i]);            
        }
        /* 마지막 계단을 꼭 밟아야 하기 때문에 최댓값을 출력하는 게 아님!
        int max=dp[1];
        for(int i=1;i<=n;i++)
        {
            max=Math.max(dp[i],max);
        }  
        */
        
        System.out.println(dp[n]);
	}
     
 }

 

반응형