[백준] 11047 동전 0 - Java

Yunki Kim·2023년 1월 14일
0

백준

목록 보기
94/104
post-thumbnail

문제


링크


코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int N = Integer.parseInt(st.nextToken());
        int K = Integer.parseInt(st.nextToken());

        Integer[] coins = new Integer[N];
        for (int i = 0; i < coins.length; i++) {
            coins[i] = Integer.parseInt(br.readLine());
        }
        Arrays.sort(coins, Collections.reverseOrder());

        int count = 0;
        for (Integer coin : coins) {
            if (K >= coin) {
                count += K / coin;
                K %= coin;
            }
        }
        System.out.println(count);
    }
}

리뷰

동전 갯수의 최솟값을 구하기위해서는 동전의 리스트를 내림차순으로 정렬하여 큰 돈 부터 교환하게끔하여 구현한다.

0개의 댓글