Jin's Library

[Silver Ⅲ] 2579 - 계단 오르기 본문

Algorithm - Java/BOJ - Silver

[Silver Ⅲ] 2579 - 계단 오르기

Linkin 2025. 10. 24. 11:22
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class BOJ_2579 {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        int[] dp = new int[N+1];
        int[] stairs = new int[N+1];
        for(int i = 1; i < N+1; i++) stairs[i] = Integer.parseInt(br.readLine());

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