반응형
leetcode.com/problems/climbing-stairs/
이 문제는 사실 피보나치 수열과 같은 문제다.
n번째 계단에 도착을 하려면 그 이전 시점에는 n-1번째 또는 n-2번째 계단에 위치해있을 것이다.
즉 f(n) = f(n-1) + f(n-2) 임을 알 수 있다.
class Solution:
def climbStairs(self, n: int) -> int:
if n <=2:
return n
x = 1
y = 2
for i in range(n-2):
x, y = y, x+y
return y
댓글