주소 : 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
소스 코드 :
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
int main()
{
int money, num;
int kind[10];
int coin = 0;
cin >> num >> money;
for (int i = 0;i < num;i++)
cin >> kind[i];
for (int i = num - 1;i >= 0;i--)
{
if (money / kind[i] > 0)
{
coin += money / kind[i];
money -= kind[i] * (money / kind[i]);
}
}
cout << coin;
}
마무리 : 동전 개수의 최솟값을 구하기 위해 큰 값부터 비교를 한 뒤 금액을 깎으면서 동전의 개수를 구한다. 실버 문제치고는 어렵지 않은 문제였다.
'백준 > C++' 카테고리의 다른 글
백준 17219번 : 비밀번호 찾기 [C++] (0) | 2022.08.28 |
---|---|
백준 11399번 : ATM [C++] (0) | 2022.08.26 |
백준 1764번 : 듣보잡 [C++] (0) | 2022.08.26 |
백준 1620번 : 나는야 포켓몬 마스터 이다솜 [C++] (0) | 2022.08.26 |
백준 11723번 : 집합 [C++] (0) | 2022.08.26 |