Algorithm/유형별 : Greedy
[C++] [Greedy] 백준 11047번 : 동전 0
쟌쥰
2020. 2. 2. 13:56
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
#include<iostream>
using namespace std;
int main(void) {
int N, K;//동전이 몇종류인지, 만드려는 금액
int answer = 0;
//입력 (동전 갯수, 원하는 금액, 각동전금액[오름차순])
cin >> N >> K;
int *p = new int[N];
for (int i = 0; i < N; i++)
cin >> p[i];
//금액이 양수인 동안 -> 큰 동전부터 넣기 -> 동전 넣는 순간 금액은 -
while (K > 0) {
for (int i = N - 1; i >= 0; i--) {
if (p[i] <= K) {
K -= p[i];
answer++;
break;
}
}
}
//정답 출력
cout << answer;
}