728x90
https://www.acmicpc.net/problem/11047
문제 풀이
그리디 알고리즘은 현재 가장 최적의 것부터 사용하는 알고리즘이다.
동전 개수가 최소가 되려면 가장 큰 것부터 따지면 된다.
느낀 점
그리디 알고리즘의 시작이다! 문제 자체가 쉬워서 최대한 이쁘게 코드를 짜고 싶었다. 제출하고 보니 지저분 한 것 같기도 하다.
코드
#include <iostream>
#include <algorithm>
using namespace std;
int n, k, cnt = 0;
int v[11];
int main() {
cin >> n >> k;
for (int i = 0; i < n;i++) {
cin >> v[i];
}
reverse(begin(v), begin(v) + n);
for (int i = 0; i < n; i++) {
cnt += k / v[i];
k %= v[i];
}
cout << cnt;
}
'문제 풀이 > 백준(BOJ)' 카테고리의 다른 글
[C++] 백준 11399번 : ATM (0) | 2021.06.28 |
---|---|
[C++] 백준 1931번 : 회의실 배정 (0) | 2021.06.27 |
[C++] 백준 12865번 : 평범한 배낭 (0) | 2021.06.25 |
[C++] 백준 1912번 : 연속합 (0) | 2021.06.25 |
[C++] 백준 9251번 : LCS (0) | 2021.06.25 |
댓글