[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