자료구조, 알고리즘
[LeetCode] Climbing Stairs - 자바스크립트 풀이
개발공주
2021. 12. 6. 21:48
728x90
1. 접근 방법
(1) 힌트에 이전 피보나치 문제처럼 풀라고 해서 재귀로 풀었더니 시간 초과가 났다(???). 그래서 DP로 풀었다.
(2) 베이스 케이스를 써 준다.
stairs[1] = 1;
stairs[2] = 2;
(3) for문을 돌면서 점화식을 이용해 연산해준다.
for (let i = 3; i <= n; i++) {
stairs[i] = stairs[i - 2] + stairs[i - 1];
}
2. 전체 해답
/**
* @param {number} n
* @return {number}
*/
var climbStairs = function(n) {
let stairs = new Array(n).fill(0);
stairs[1] = 1;
stairs[2] = 2;
for (let i = 3; i <= n; i++) {
stairs[i] = stairs[i - 2] + stairs[i - 1];
}
return stairs[n];
};
728x90