문제출처 : https://www.acmicpc.net/problem/5585
code
#include <stdio.h> int main() { int pay, change, change_cnt=0; scanf("%d",&pay); change = 1000-pay; // 거스름돈이니까 1000-가격 //거스름돈의 개수는 가장 적게 줘야하니까 큰가격부터 나누자. if(change/500 > 0) { change_cnt += change/500; //500원이 안넘으면 어차피 0을 더할거니까 상관x change = change%500; //나머지는 고스란히 나머지계산으로 남겨준다. } if(change/100 > 0) { change_cnt += change/100; //1엔까지 동일하게 반복 change = change%100; } if(change/50 > 0) { change_cnt+= change/50; change = change%50; } if(change/10 > 0) { change_cnt += change/10; change = change%10; } if(change / 5 > 0) { change_cnt += change/5; change = change%5; } if(change / 1 > 0) { change_cnt += change/1; change = change%1; } //change_cnt를 출력 printf("%d",change_cnt); return 0; }