https://www.acmicpc.net/problem/5585
그냥 어
읽고 바로 생각했다.
시간 적기로 했는데.
알고리즘
- 500부터 나눠서 나눈 몫을 더하고
- 나눈 나머지를 가지고 또 500확인한다.
- 500이 확인 다 했으면 (500으로 나눈 몫이 0이면 )
- 그 다음 100으로 넘어간다.
소스코드
#include <iostream>
using namespace std;
int main() {
int input,output = 0;
int coin[6] = { 500,100,50,10,5,1 };
cin >> input;
input = 1000 - input;
for (int i = 0; i < 6; i++) {
while (input / coin[i] != 0) {
output += input / coin[i];
input %= coin[i];
}
}
cout << output;
return 0;
}
python
coin = [500,100,50,10,5,1]
input_num = int(input())
output = 0
input_num = 1000-input_num
for i in range(6):
while (input_num//coin[i]) != 0:
output += input_num//coin[i]
input_num %= coin[i]
print(output)
'Coding Test > Problem_solving' 카테고리의 다른 글
[백준] 1343_폴리오미노/c++/python (0) | 2021.06.29 |
---|---|
[백준] 14916_거스름돈 /C++/python (0) | 2021.06.29 |
[프로그래머스] 소수 만들기 c++ (0) | 2021.06.29 |
[백준] 11399_ATM (python, c++) (0) | 2021.06.28 |
[백준] 9237_이장님 초대 (c++) (0) | 2021.06.16 |