• toc {:toc}

문제 확인하기

풀이

타로가 1000원을 냈을 때 거스름돈이므로 1000원에서 지불할 돈을 빼주고 빼준 돈을 500엔부터 차례대로 몇 개를 거슬러 줘야 하는지를 확인해준다. 배열로 500~1엔까지 저장해놓고 불러오는 방식으로 하면 더 간단하게 줄일 수 있을 것 같다.

#include <bits/stdc++.h>
using namespace std;
 
int main(){
    ios::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
 
    int N, res = 0;
 
    cin >> N;
 
    N = 1000 - N;
 
    while(N != 0){
        if(N >= 500){
            res += N / 500;
            N %= 500;
        }
        else if(N >= 100){
            res += N / 100;
            N %= 100;
        }
        else if(N >= 50){
            res += N / 50;
            N %= 50;
        }
        else if(N >= 10){
            res += N / 10;
            N %= 10;
        }
        else if(N >= 5){
            res += N / 5;
            N %= 5;
        }
        else if(N >= 1){
            res += N / 1;
            N %= 1;
        }
    }
 
    cout << res << '\n';
 
    return 0;
}