Algorithm/BOJ
[C/C++] 백준 11047번 - 동전 0
poopooreum
2023. 9. 17. 14:44
반응형
백준 11047번 동전 0
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
● 그리디 알고리즘으로 욕심쟁이 알고리즘으로 잘 알려져있는 알고리즘을 이용해서 풀었습니다.
가장 큰 값부터 대입해보면서 몫을 result에 더해주고 몫이.나눠진다면 k%=v[x]로 해줘서 k값을 지속적으로
줄여나갔습니다.
#include <iostream>
#include <vector>
using namespace std;
vector<int> v;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n, k;
cin >> n >> k;
vector<int>v;
for (int x = 0; x < n; x++){
int a;
cin >> a;
v.push_back(a);
}
int result = 0;
for (int x = n-1; x >=0; x--) {
result += k / v[x];
k %= v[x];
}
cout << result;
}
반응형