728x90
2021/02/17 - [Programming/Java] - [java, 알고리즘, 그리디] :: 백준 - ATM
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
package com.algorithm.greedyEx05;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class GreedyEx05 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int kinds = Integer.parseInt(st.nextToken());
int amount = Integer.parseInt(st.nextToken());
int num [] = new int[kinds];
for(int i = 0; i < kinds; i++){
num[i] = Integer.parseInt(br.readLine());
}
Arrays.sort(num);
int cnt = 0;
int tmp = amount;
for(int i = kinds - 1; i >= 0; i--){
if(tmp % num[i] < amount){
cnt += tmp / num[i];
tmp %= num[i];
}
}
System.out.println(cnt);
}
}
접근 방법
동전의 종류 중에 총금액보다 작으면서 가장 큰 수부터
728x90
'Programming > 알고리즘' 카테고리의 다른 글
[java, 알고리즘, 그리디] :: 백준 - 로프(!) (0) | 2021.02.18 |
---|---|
[java, 알고리즘, 그리디] :: 백준 - 잃어버린 괄호 (0) | 2021.02.18 |
[java, 알고리즘, 그리디] :: 백준 - ATM (0) | 2021.02.17 |
[java, 알고리즘, 그리디] :: 1이 될 때까지 (0) | 2021.02.17 |
[java, 알고리즘, 그리디] :: 숫자 카드 게임 (0) | 2021.02.17 |
댓글