[Dynamic Programming] Climbing Stairs
2021. 1. 17. 13:42ㆍ프로그래밍-코딩테스트/LeetCode
You are climbing a staircase. It takes n steps to reach the top.
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
1칸 또는 2칸씩만 계단을 오를 수 있는 경우에 대해, 총 계단수가 주어졌을때 올라갈 수 있는 가짓수는 몇개인가?
딱 봐도 점화식 문제다.
경우의수[n] = 경우의수[n-1] + 경우의수[n-2](n>2)가 된다.
1칸 또는 2칸만 오를 수 있댔으니, 점화식의 관점에서는 1칸전 경우의수 + 2칸전 경우의수가 현재 계단을 오를 수 있는 경우의 수가 된다는 뜻.
간단한 문제였다
'프로그래밍-코딩테스트 > LeetCode' 카테고리의 다른 글
[Tree] Merge Two Binary Trees (0) | 2021.01.25 |
---|---|
[Array] Maximum Subarray (0) | 2021.01.17 |
[Array] Best Time to Buy and Sell Stock (0) | 2021.01.17 |
[Linked List] Merge Two Sorted Lists (0) | 2021.01.17 |
[Array] Majority Element (1) | 2021.01.17 |