알고리즘
70. Climbing Stairs
유병각
2022. 4. 30. 17:07
풀이_#1
재귀를 활용한 풀이
=> 메모이제이션을 활용해서 빠름
class Solution:
def climbStairs(self, n: int) -> int:
dp = [0] * (n+1)
dp[1] = 1
if (n >= 2):
dp[2] = 2
for i in range(3, n+1):
dp[i] = dp[i-1] + dp[i-2]
return dp[n]
풀이_#2
재귀를 활용한 풀이 - 숏코딩, 간략
=> 시간초과걸림
def climbStairs1(self, n):
if n == 1:
return 1
if n == 2:
return 2
return self.climbStairs(n-1)+self.climbStairs(n-2)