간단한 산술 연산을 통해 풀수 있었다.
남은 금액을 동전의 단위로 나누었을때 0보다 커지는 경우만 동전 갯수에 포함시키고 그 금액을 뺀다.
이를 반복하면 된다.
#include <iostream>
using namespace std;
int N, K;
int A[10];
long long int coin;
int main() {
scanf("%d %d", &N, &K);
for (int i = 0; i < N; i++) {
scanf("%d", &A[i]);
}
for (int i = N - 1; i >= 0; i--) {
if (K > 0) {
int num = K / A[i];
if (num > 0) {
coin += num;
K -= A[i] * num;
}
}
}
printf("%lld", coin);
return 0;
}