Skip to content

Latest commit

 

History

History
44 lines (34 loc) · 1.22 KB

계단오르기_2579.md

File metadata and controls

44 lines (34 loc) · 1.22 KB

🚶‍♂️ [2579] 계단 오르기

난이도: 실버 3
소요 시간: 35분
메모리: 11552KB
시간: 72ms

리뷰

  • DP는 어려운데,, 재밌다,,
  • 풀이법이 생각나면 기분이 매우매우 좋다.!!!🤩

전체 코드

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main_2579_계단오르기 {

    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine().trim());
        if (N == 1) {
            System.out.print(br.readLine());
        } else {
            int[][] stairs = new int[N + 1][2];
            for (int n = 1; n <= N; n++) {
                stairs[n][0] = stairs[n][1] = Integer.parseInt(br.readLine().trim());
            }

            stairs[1][1] = 0;
            stairs[2][0] += stairs[1][0];

            for (int n = 3; n <= N; n++) {
                stairs[n][0] += stairs[n - 1][1];
                stairs[n][1] += Math.max(stairs[n - 2][0], stairs[n - 2][1]);
            }

            System.out.print(Math.max(stairs[N][0], stairs[N][1]));
        }
    }
}