Search
Duplicate
📗

동전 0

주차
16
문제번호
11047
언어
티어
실버
유형
그리디
nj_Blog
nj_상태
이해도
100%
풀이
사람
이해도 2
13 more properties

문제접근

가장 가치가 큰 코인부터 확인을 하면서 필요한 동전 갯수를 카운트 하고 그 동시에 확인해야할 k원을 줄여나가는 방식으로 풀어나갔습니당

놓쳤던 부분

굳이 분기를 통해서 continue를 하는 것보다 반대의 조건으로 원하는 조건일때만 분기를 타게 하는 방향이 더 코드가 간결해지지 않나 싶음

코드

2016 KB

0 ms

#include <iostream> #include <vector> int n, k; std::vector<int> input_coin; void input_setting() { std::ios_base::sync_with_stdio(false); std::cin.tie(0); std::cout.tie(0); } void input() { std::cin >> n >> k; input_coin.resize(n); for (int i = 0; i < n; i++) std::cin >> input_coin[i]; } void solution() { int answer; answer = 0; for (int i = n - 1; i >= 0; i--) { if (input_coin[i] > k) continue; answer += k / input_coin[i]; k %= input_coin[i]; } std::cout << answer; } int main(void) { input_setting(); input(); solution(); return (0); }
C++
복사