문제
지불한 금액을 나타내는 파라미터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