본문 바로가기

코딩테스트 문제풀이

[백준 5585] 문제 풀기 (그리디)

#include <stdio.h>
#include <iostream>
#include <vector>

using namespace std;

int main() {
	const int pair = 1000;		//1000 고정.
	int charge;					//잔돈(charge가 아니라 change.. 영어 잘못썼네요)
	int money;					//손님이 낸 돈
	int change[] = { 500, 100, 50, 10, 5, 1 };
	const int size = 6;
	int cnt = 0;

	//잔돈 계산
	cin >> money;
	charge = pair - money;

	//횟수 누적
	for (int i = 0; i < size; i++) {
		if (change[i] <= charge) {
			cnt++;
			charge -= change[i];
			i = 0;
		}
	}

	cout << cnt;
}