반응형

 

📖 문제

 

📋 코드

import java.util.*;
public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		int N = sc.nextInt();
		int K = sc.nextInt();
		int money[] = {50000,10000,5000,1000,500,100,50,10,5,1};
		int ans = 0;
		
		for (int i = 0; i < N; i++) {
			money[N-i-1] = sc.nextInt();
		}
		
		for (int i = 0; i < money.length; i++) {
			ans += K/money[i];
			K = K%money[i];
		}
		System.out.println(ans);
	}
}

👨🏻‍💻 결과

가치가 큰 동전부터 계산해나가면 필요한 동전의 최솟값을 구할 수 있습니다.

 

 

🔗 링크

https://www.acmicpc.net/problem/11047

 

11047번: 동전 0

첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)

www.acmicpc.net

 

반응형

+ Recent posts