알고리즘/백준

[백준/c++] 5585번: 거스름돈

녕이 2022. 7. 8. 15:43
728x90

 

https://www.acmicpc.net/problem/5585

 

5585번: 거스름돈

타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사

www.acmicpc.net

 

500, 100, 50, 10, 5, 1  거스름돈 개수가 가장 적게 잔돈을 줘야 한다.

1000엔 지폐를 한 장 냈을 때, 받을 잔돈에 포함된 잔돈의 개수를 구하자.

 

1000엔 지폐를 냈을 때, 380엔 물건을 샀으니까 620엔을 돌려줘야 하는데, 여기에 포함된 잔돈의 개수를 출력해야 한다.

#include <iostream>
using namespace std;
int n, m, ans = 0;
int money[6] = {500, 100, 50, 10, 5, 1};

int main(){
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    cin >> n;
    m = 1000 - n;
    
    for(int i=0; i<6; i++){
        ans += m / money[i];
        m %= money[i];
    }
    cout << ans << '\n';
    return 0;
}

 

 

 

 

 

 

728x90