알고리즘/📌leetcode

Climbing Stairs - #dp

IMSfromSeoul 2021. 12. 3. 00:36

📌 문제

  • 1칸 혹은 2칸으로만 위를 올라갈 수 있다. N칸을 갔을 때, N칸을 올라올 수 있는 경우의 수는?
https://leetcode.com/problems/climbing-stairs/

📌 문제 풀이

📌 코드

public class Main {
    public static void main(String[] args) {
        Solution solution = new Solution();
        int i = solution.climbStairs(45);
        System.out.println(i);
    }

    static class Solution {
        public int climbStairs(int N) {
            if(N==1) return 1;
            if(N==2) return 2;
            int[] dp = new int[N+1];

            dp[0] = 0;
            dp[1] = 1;
            dp[2] = 2;

            for(int i=3;i<N+1;i++){
                dp[i] = dp[i-1] + dp[i-2];
            }
            return dp[N];
        }
    }
}