BOJ 11047 | 동전 0

전승민·2023년 4월 20일
0

BOJ 기록

목록 보기
15/68

마음 편하게 짜면 되는 그리디 문제다.
오답이 나올 여지가 없는 문제라서 정말 힐링이 된다.

금액이 큰 단위의 동전부터 최대한 사용하면 되기 때문에 입력받은 순서 반대로 그리디를 돌리면 된다.

#include <bits/stdc++.h>
using namespace std;

#ifdef LOCAL
constexpr bool local = true;
#else
constexpr bool local = false;
#endif

#define FASTIO ios_base::sync_with_stdio;cin.tie(nullptr);

#define debug if constexpr (local) std::cout
#define endl '\n'

int main(){
	int N, K; cin >> N >> K;
	vector<int> coin;
	int cnt = 0;
	
	for (int i = 0; i < N; i++){
		int t; cin >> t;
		coin.push_back(t);
	}
	
	for (int i = N-1; i >= 0; i--){
		int val = coin[i];
		int tmp = K/val;
		cnt += tmp;
		K -= val*tmp;
	}
	
	cout << cnt;
}
profile
알고리즘 공부한거 끄적이는 곳

0개의 댓글