JAVA 예제 : 거스름돈

:-)·2022년 3월 22일
0

문제

지불한 금액을 나타내는 파라미터1, 물건의 가격을 나타내는 파라미터2
이렇게 두 개의 파라미터를 받아 가작 적은 수의 지폐를 거슬러 주는 메소드를 만들어 주세요.
(단위는 50000, 10000, 5000, 1000 원입니다.)

예) change(100000, 23000);
 출력결과 -> 50000원 지폐 : 1장
            10000원 지폐 : 2장 
            5000원	지폐 : 1장
            1000원 지폐 : 2장               

✍ 소스코드

public class ChangeMoney {

	public static void main(String[] args) {
		change(100000, 23000);
		
	}

	public static void change(int pay,int cost) {
		int changeMoney = pay - cost;			// 거스름돈 금액
		
		int fifty_thousand = changeMoney / 50000;			// 몫이 거슬러 주는 지폐 갯수이므로 나누기 연산기호 사용	
		int ten_thousand = (changeMoney % 50000) / 10000;	// 거스름돈에서 50000원을 나눈 나머지로 계산해야 하기 때문에 나머지 연산기호 사용
		int five_thousand = (changeMoney % 10000) / 5000;	// 10000원을 나눈 나머지로 계산
		int one_thousand = (changeMoney % 5000) / 1000;		// 5000원은 나눈 나머지로 계산
		
		System.out.println("50000원 지폐 : " + fifty_thousand);
		System.out.println("10000원 지폐 : " + ten_thousand);
		System.out.println("5000원 지폐 : " + five_thousand);
		System.out.println("1000원 지폐 : " + one_thousand);
		
	}
	
}

👉 출력 결과

50000원 지폐 : 1
10000원 지폐 : 2
5000원 지폐 : 1
1000원 지폐 : 2



✍ 그 외 다른 코드

배열 사용
public class ChangeMoney {

	public static void main(String[] args) {
		change(100000, 23000);
		
	}

	public static void change(int pay, int price) {
		
		int change = pay - price;
		int[] bills = {50000, 10000, 5000, 1000};
		for (int i = 0; i < bills.length; i++) {
			int bill = bills[i];
			int num = change/bill;
			change = change%bill;
			System.out.println(bill + "원 지폐 : " + num);
		}
		System.out.println("지폐로 줄 수 없는 거스름돈: " + change);
	}

}

👉 출력 결과

50000원 지폐 : 1
10000원 지폐 : 2
5000원 지폐 : 1
1000원 지폐 : 2
지폐로 줄 수 없는 거스름돈: 0

0개의 댓글