(Python, Java) 리트코드 - Climbing Stairs

[문제 링크]

Python 풀이

class Solution:
    def climbStairs(self, n: int) -> int:
        if n == 1:
            return 1
        if n == 2:
            return 2

        stairs = [0, 1, 2]

        for idx in range(3, n + 1):
            stairs.append(stairs[idx - 1] + stairs[idx - 2])

        return stairs[n]

Java 풀이

class Solution {
    public int climbStairs(int n) {
        int[] stairs = new int[n + 1];
        if (n == 1)
            return 1;
        if (n == 2)
            return 2;

        stairs[1] = 1;
        stairs[2] = 2;

        for (int idx = 3; idx <= n; idx++) {
            stairs[idx] = stairs[idx - 1] + stairs[idx - 2];
        }
        return stairs[n];
    }
}

© 2021. By Backtony