[BOJ] 11047 동전 0

iinnuyh_s·2024년 1월 22일
0

그리디

목록 보기
2/6
post-thumbnail

동전 0

풀이

  • 준규가 갖고 있는 동전은 N종류, 동전을 적절히 사용해서 합을 K로 만드는데, 필요한 동전 개수의 최솟값을 구해라.
  • 전형적인 그리디 문제. 동전 N종류의 큰 값들부터 세면서 K를 만들 수 있는지 확인한다.
🙆‍♀️ 정답 코드
import java.util.*;
import java.io.*;
public class Main {
    public static void main(String[] args) throws Exception {
        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());
        int[] arr = new int[N + 1];
        for (int i = 1; i <= N; i++) {
            arr[i] = Integer.parseInt(br.readLine());
        }
        int cnt = 0;
        for(int j=arr.length-1;j>0; j--){
            if(arr[j]<=K){
                int div = K/arr[j];
                cnt+=div;
                K=K%arr[j];
            }
        }
        System.out.println(cnt);
    }
}

0개의 댓글