Lewis's Tech Keep

[백준] 동전2 본문

JAVA/알고리즘

[백준] 동전2

Lewis Seo 2021. 3. 10. 02:39

참고 : www.acmicpc.net/problem/2294

 

 

- dp 문제

- dp[i] : i 에 도달하는데 최소 갯수

(ex. dp[1] : 1에 도달하는데 최소 갯수 1이 있을 시 1로 최소)

 

더보기
import java.util.Scanner;

public class Solution {

    public static void main(String[] args) {
        final int MAX_VAL = 100001;
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int k = sc.nextInt();
        int[] coin = new int[n+1];
        for(int i=1; i<=n; i++) {
            coin[i] = sc.nextInt();
        }
        int[] dp = new int[10002];
        dp[0] = 0;
        for(int i=1;i<=k;i++) {
            dp[i] = MAX_VAL;
        }
        for(int i=1;i<=n;i++) {
            for(int j=coin[i]; j<=k; j++) {
                dp[j] = Math.min(dp[j], dp[j-coin[i]] + 1);
            }
        }

        if(dp[k] == MAX_VAL) {
            System.out.println(-1);
            return;
        }
        System.out.println(dp[k]);
    }
}

'JAVA > 알고리즘' 카테고리의 다른 글

[백준] 스티커 붙이기  (0) 2021.03.16
[백준] 감시  (0) 2021.03.13
[백준] 파도반 수열  (0) 2021.03.10
[백준] 균형잡힌 세상  (0) 2021.03.10
[백준] 동전1  (0) 2021.03.09
Comments