카테고리 없음
leetcode Climbing stairs
바코94
2022. 9. 25. 13:06
https://leetcode.com/problems/climbing-stairs/
# 문제
계단을 한 번에 1개나 2개 오를 수 있을 때, 계단 n 개를 올라가는 경우의 수를 구하는 문제이다.
n이 30개이라고 생각해보면, 한 번에 1개나 2개의 계단을 오를 수 있기 때문에 30번째 계단에 도달하기 직전은 29번째 계단과 28번째 계단이다. 즉, 29번째 계단까지 오르는 경우의 수와 28번째 계단까지 오르는 경우의 수를 더하면 30번째 계단까지 오르는 경우의 수가 된다.
따라서 다음과 같이 문제 해결을 할 수 있다. dp(dynamic programming)을 이용하면 된다.
`n번째 계단까지 경우의 수 = n-1번째 계단까지 경우의 수 + n-2번째 계단까지 경우의 수`
그림이 포함된 유사한 해결 방법은 다음을 참고
https://dev.to/urfan/leetcode-climbing-stairs-with-javascript-1dme