[LeetCode] Climbing Stairs

 

1. ๋ฌธ์ œ : Link

 

2. ํ’€์ด

์ด์ „๊ณผ ๊ทธ ์ด์ „ ๊ฐ’์˜ ํ•ฉ๊ณผ ๊ฐ™์•„์„œ dp๋กœ ํ’€ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

3. ์ฝ”๋“œ

class Solution:
    def climbStairs(self, n: int) -> int:
        dp = [i for i in range(n+1)]
        
        for i in range(3, n+1):
            dp[i] = dp[i-1] + dp[i-2]
        
        return dp[n]
class Solution {
    public int climbStairs(int n) {
        int[] dp = new int[n];
        dp[0] = 1;
        if(n==1) return dp[n-1];
        dp[1] = 2;
        if(n==2) return dp[n-1];
        
        for(int i=2; i<n; i++){
            dp[i] = dp[i-1] + dp[i-2];
        }
        return dp[n-1];
    }
}
  • ๋„ค์ด๋ฒ„ ๋ธ”๋Ÿฌ๊ทธ ๊ณต์œ ํ•˜๊ธฐ
  • ๋„ค์ด๋ฒ„ ๋ฐด๋“œ์— ๊ณต์œ ํ•˜๊ธฐ
  • ํŽ˜์ด์Šค๋ถ ๊ณต์œ ํ•˜๊ธฐ
  • ์นด์นด์˜ค์Šคํ† ๋ฆฌ ๊ณต์œ ํ•˜๊ธฐ