백준 - 5585 거스름돈
문제
거스듬돈의 개수가 가장 적게 잔돈을 주는 방법은?
생각
큰 단위 동전으로 거스러줄 수 있는 만큼 거슬러주자~
그때 그때 최선을 다해서 거슬러주는ㄴ거지
항상 그리디로 거스름돈 문제가 풀리는 건 아닌데
ex) 800원 400원짜리 두 개 or 500원짜리 하나 100원짜리 3개
풀릴 때가 있어
코드
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <vector>
#include <cstring>
#include <algorithm>
#include <queue>
using namespace std;
int coin[6] = { 500, 100, 50, 10, 5, 1 };
int main() {
int money, result = 0;
cin >> money;
money = 1000 - money;
for (int i = 0; i < 6; i++) {
if (money / coin[i]) {
result += money / coin[i];
money = money % coin[i];
}
}
cout << result;
return 0;
}
Author And Source
이 문제에 관하여(백준 - 5585 거스름돈), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@weenybeenymini/백준-5585-거스름돈저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)