[Java] ❤최소 비용으로 계단 오르기

Korangii·2024년 8월 27일

프로그래머스

목록 보기
12/21
post-thumbnail
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번 인덱스의 단계에서 시작할 수도 있습니다.

층의 꼭대기에 도달하기 위한 최소 비용을 반환하세요

profile
https://honeypeach.tistory.com/ 로 이전했습니다.

0개의 댓글