250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(Leet Code JS)Min Cost Climbing Stairs 본문
728x90
반응형
https://leetcode.com/problems/min-cost-climbing-stairs/
dp 알고리즘 사용.
cost의 길이를 나타내는 length.
dp를 length의 길이만큼 할당하고 0으로 초기화.
계단은 1칸 또는 2칸 오를 수 있다.
그렇기 때문에 dp[0] = cost[0],
dp[1] = cost[0] + cost[1] 과 cost[1] 중 더 작은 값을 저장하고 시작한다.
for문은 2 ~ length만큼 반복.
점화식으로는 현재 계단의 cost + 1칸 또는 2칸 전의 cost 중 비용이 더 적은 값을 저장하면 된다.
dp[i] = Math.min(cost[i] + dp[i - 1], cost[i] + dp[i - 2])
var minCostClimbingStairs = function(cost) {
const length = cost.length;
const dp = Array(length).fill(0);
dp[0] = cost[0];
dp[1] = Math.min(cost[0] + cost[1], cost[1]);
for(let i = 2; i < length; i++){
dp[i] = Math.min(cost[i] + dp[i - 1], cost[i] + dp[i - 2]);
}
return Math.min(dp[length - 1], dp[length - 2]);
};
728x90
반응형
'Leet Code 알고리즘' 카테고리의 다른 글
(Leet Code JS)Unique Paths (0) | 2022.02.18 |
---|---|
(Leet Code JS)Jump Game II (0) | 2022.02.17 |
(Leet Code JS)Find And Replace in String (0) | 2022.02.08 |
(Leet Code JS)Rearrange Spaces Between Words (0) | 2022.02.08 |
(Leet Code JS)Path With Minimum Effort (0) | 2022.01.22 |