문제 정보
- Leet Code 문제 링크
- 난이도 : Easy
해결 방법
문제 자체가 기본적인 Dynamic Programming 의 꼴을 하고 있어서 그렇게 구현했습니다. dp 함수를 따로 사용하지 않고 배열에 for loop 를 순회하면서 데이터를 채워 넣어도 구현이 가능합니다.
소스 코드
// Leet Code
// #70. Climbing Stairs
// Success
// Runtime: 72 ms, faster than 74.80% of JavaScript online submissions for Climbing Stairs.
// Memory Usage: 38.6 MB, less than 58.88% of JavaScript online submissions for Climbing Stairs.
function main(){
// Input // Output
n = 3; // 3
console.log(climbStairs(n));
}
/**
* @param {number} n
* @return {number}
*/
var climbStairs = function(n) {
const memo = [];
const dp = function(n){
if(n === 1 || n === 2) memo[n] = n;
if(!memo[n]) memo[n] = dp(n - 1) + dp(n - 2);
return memo[n];
}
return dp(n);
};
main();
참고 자료
'코딩 테스트 연습' 카테고리의 다른 글
[Leet Code Top 100] #371. Sum of Two Integers (0) | 2022.01.18 |
---|---|
[Leet Code Top 100] #190. Reverse Bits (0) | 2022.01.16 |
[Leet Code Top 100] #268. Missing Number (0) | 2022.01.13 |
[Leet Code Top 100] #338. Counting Bits (0) | 2022.01.13 |
[Leet Code Top 100] #191. Number of 1 Bits (0) | 2022.01.13 |