이전 수업 때 거스름돈을 단위별로 출력하는 문제를
배열없이 반복문으로 해결하는 문제를 받았을 때 풀지 못했는데 ㅠ
배열 파트에 들어가고 나서 자바의 정석 연습문제로 다시 만난 이 문제
배열로는 쉽게 풀 수 있었다!!
배열없이 반복문, 조건문으로 풀 때 내가 캐치하지 못한 건,
거스름돈이 50000원 으로 시작했다면, 처음엔 5로 나누어 10000원을 만들고, 그 다음번엔 2로 나누어 5000원
이런 식으로 거스름돈의 원화 단위를 나누는 방법을 생각 못함.
코드로 정리하면 이런 식으로 만들어서 거스름돈을 출력하는 것.
//동전의 단위를 바꾸기 위한 변수 선언.
int i = 0 ;
//처음엔 5로 나누고, 다음엔 2로 나누고를 홀/짝 반복.
if ( i% 2 == 0 ){
coinUnit / 5 ;
} else {
coinUnit / 2 ;
}
문제
거스름돈을 몇 개의 동전으로 지불할 수 있는지를 계산하는 문제
큰 금액의 동전을 우선적으로 거슬러 줘야한다.
작성한 코드)
public void test3() {
int[] coinUnit = {500, 100, 50, 10};
int money = 2680;
System.out.println("money="+money);
for(int i=0;i<coinUnit.length;i++) {
int count = money/coinUnit[i];
money -= (coinUnit[i] * count);
System.out.println(coinUnit[i] +"원 :" + count + "개");
if (money == 0) {
break;
}
}
}
출력)
money=2680
500원 :5개
100원 :1개
50원 :1개
10원 :3개
'백엔드 과정 > 자바 예습' 카테고리의 다른 글
[자바의정석] 연습 문제 1-2 (0) | 2021.12.22 |
---|---|
[자바의정석] 연습 문제 1-1 / 조건식 (0) | 2021.12.22 |
[혼공자]Chap 02-4 변수와 시스템 출력 (0) | 2021.12.14 |
[혼공자]Chap 02-3 타입 변환 (0) | 2021.12.14 |
[혼공자]Chap 02-2 기본 타입 (0) | 2021.12.14 |