bronze 2. 거스름돈(5585)
24 Jan 2022 | 알고리즘 프로그래밍 자바bronze 2. 거스름돈(5585)
출처 : https://www.acmicpc.net/problem/5585
문제
잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔 1엔이 있을 때, 1000엔을 지불하고 받은 잔돈에 포함된 잔돈의 개수를 구하는 프로그램을 작성
입력: 타로가 지불해야할 돈 1개가 쓰여져 있음
출력: 잔돈에 포함된 매수
풀이
- 아이디어: 가장 큰 화폐 단위부터 거슬러줌
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int count = 0; // 잔돈 개수
int num = 1000 - sc.nextInt(); // 받아야할 거스름돈
int[] coinTypes = {500, 100, 50, 10, 5}; // 거스름돈 동전 종류
// 가장 큰 화폐 단위부터 거슬러줌
for (int i=0; i<coinTypes.length; i++){
int coin = coinTypes[i];
count += num / coin;
num %= coin;
}
// 남은 돈이 1엔 단위일 경우 따로 처리
if (num != 0){
count += num;
}
}
}