백준 11047 : 동전 0

혀니앤·2021년 10월 14일
0

C++ 알고리즘

목록 보기
78/118

https://www.acmicpc.net/problem/11047

1. 접근

  • 무조건 K장의 금액을 만들면, 가장 큰 금액의 동전을 사용하는 것이 최솟값이 된다.
  • 따라서 단순하게 큰 동전부터 계산해주면 된다.

2. 나의 풀이

#include <iostream>
#define MAX 11
using namespace std;
int n, k;
int coin[MAX];
int mincoin=0;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	cin >> n >> k;
	for (int i = 0; i < n; i++) {
		cin >> coin[i];
	}

	for (int i = n - 1; i >=0; i--) {
		if (k == 0) break;
		if (k < coin[i]) continue;
		mincoin += k / coin[i];
		k = k % coin[i];
	}

	cout << mincoin << "\n";
	return 0;
}
profile
일단 시작하기

0개의 댓글