https://www.acmicpc.net/problem/11047
int totalPrice
int[] coins
import java.io.*;
import java.util.StringTokenizer;
public class Main {
static int numOfCoin; // 동전의 종류 개수
static int totalPrice; // 동전 값의 목표 합
static int[] coins; // 동전들 => 오름차순, 배수 관계
public static int solution() {
int minNumOfCoin = 0; // totalPrice 를 만드는 최소 동전 개수
// 값이 가장 큰 동전부터 확인
for (int i = coins.length - 1; i >= 0; i--) {
if (totalPrice == 0)
break;
minNumOfCoin += (totalPrice / coins[i]);
totalPrice %= coins[i];
}
return minNumOfCoin;
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in)
);
StringTokenizer st = new StringTokenizer(br.readLine());
numOfCoin = Integer.parseInt(st.nextToken()); // 동전의 종류 개수
totalPrice = Integer.parseInt(st.nextToken()); // 동전 값의 목표 합
coins = new int[numOfCoin]; // 동전들 => 오름차순, 배수 관계
for (int i = 0; i < numOfCoin; i++)
coins[i] = Integer.parseInt(br.readLine());
System.out.println(solution());
}
}