문제 링크 : https://leetcode.com/problems/climbing-stairs/
n을 1,2를 이용하여 나눌 수 있는 경우의 수들을 구하는 문제이다.
n=3을 예로 들었을 때 1과 2로 만들 수 있는 경우의 수들을 구하는 문제이다..
전에 풀었던 동전 문제와 비슷하다고 느껴지는데..
그래서 dp를 이용해서 풀어야겠다는 생각은 하였으나.. 점화식을 세우고 구현하는 것이 쉽지는 않았다.
n이 1,2일때는 정해져있고 3부터 이전에 1,2일때를 이용하여 구하면 된다,,?
class Solution:
def climbStairs(self, n: int) -> int:
dp= [0,1,2]
for i in range(3,n+1):
dp.append(dp[i-1]+dp[i-2])
return dp[n]
2022.04.07 복습 완