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
그리디 알고리즘을 사용하는 문제!
그냥 간단한 문제였다.
💡 내 코드(C++)
// [11047] 동전 0
// https://www.acmicpc.net/problem/11047
// 그리디 알고리즘
#include <cstdio>
using namespace std;
int main(void)
{
int n, k; // 준규가 가지고 있는 동전의 종류, 가치의 합
int a[11]; // 동전의 가치
scanf("%d %d", &n, &k);
int remain = k, cnt = 0;
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
for (int i = n - 1; i >= 0; i--) {
if ((remain / a[i]) >= 1) {
cnt += remain / a[i];
remain -= (remain / a[i])*a[i];
}
if (remain == 0)
break;
}
printf("%d\n", cnt);
}
반응형
'Baekjoon > 그리디 알고리즘' 카테고리의 다른 글
[5585] 거스름돈(C++) (0) | 2020.04.06 |
---|---|
[1541] 잃어버린 괄호 (0) | 2020.01.17 |
[11399] ATM (0) | 2020.01.15 |
[1931] 회의실배정 (0) | 2020.01.15 |
[11501] 주식 (0) | 2019.09.20 |