import java.util.*;
class Solution {
public int solution(int[] cost) {
int[] dp = new int[cost.length + 1];
Arrays.fill(dp, Integer.MAX_VALUE);
dp[0] = 0; dp[1] = 0;
for(int stair = 2; stair < cost.length + 1; stair++){
dp[stair] = Math.min(dp[stair-1] + cost[stair-1], dp[stair-2] + cost[stair-2]);
}
return dp[cost.length];
}
}
당신은 계단의 각 단계에서 지불해야 하는 비용이 담긴 정수 배열 cost를 받았습니다. cost[i]는 i번째 단계의 비용을 나타냅니다. 비용을 지불한 후, 한 계단 또는 두 계단을 오를 수 있습니다.
0번 인덱스의 단계에서 시작할 수도 있고, 1번 인덱스의 단계에서 시작할 수도 있습니다.
층의 꼭대기에 도달하기 위한 최소 비용을 반환하세요