반응형

 문제설명

어떤 가게의 욕심쟁이 점원은 거스름돈을 나눠줄때 거스름돈의 개수를 적게해서 주고자 한다.

거스름돈을 입력 받아 점원이 줄 수 있는 최소 거스름돈의 개수를 출력하시오.

예를 들어 54520원인 경우,

거스름돈으로 50000원권 1장, 1000원권 4장, 500원 1개, 10원 2개 해서 총 8개이다.

(※ 현재 우리나라가 사용하고 있는 화폐를 사용한다. 10원 50원 100원 500원 1,000원 5,000원 10,000원 50,000원)

 출력

최소 거스름돈의 개수를 출력한다.

 입력 예시

54520

 출력 예시

8

 제출

import java.util.Scanner;
public class Main{
    public static void main (String[] args) {
        // 10원 50원 100원 500원 1,000원 5,000원 10,000원 50,000원
        
        Scanner sc = new Scanner(System.in);
        int[] cost = {50000, 10000, 5000, 1000, 500, 100, 50, 10};
        int n = sc.nextInt(); // 거스름돈
        int a = 0; // 거스름돈 갯수
        for(int i = 0; i<cost.length;i++){
            a+= n/cost[i]; // 거스름돈 갯수
            n = n%cost[i]; // 남은 금액
        }
        System.out.println(a);
    }
}

 문제 해결

거스름돈의 갯수를 구하기 위해 우선 50,000원 부터 10원까지의 배열을 만들었습니다.

최소한의 거스름돈의 갯수를 구하기위해 50,000원 부터 시작해 최소의 값을 구했습니다.

반응형

+ Recent posts