728x90
Array
가지고 있는 금액을 큰 금액의 동전으로 먼저 거슬러 주면 각 동전은 몇 개씩 필요한가...
public static void main(String[] args) {
int[] coinUnit = {500, 100, 50, 10}; // 동전의 종류
int myMoney = 2890; // 가지고 있는 금액
// 가지고 있는 금액을 큰 금액의 동전으로 먼저 거슬려 주면,
// 각 동전은 몇 개씩 필요한가요?
// 작업의 횟수는 동전의 종류만큼 할 수 있다.
for(int i = 0; i < coinUnit.length; i++) {
System.out.println(coinUnit[i] + "원 동전 : " + myMoney/coinUnit[i] + "개 = " + myMoney/coinUnit[i] * coinUnit[i]);
myMoney = myMoney%coinUnit[i];
// 금액을 동전으로 나눈 몫이 그 동전으로 거슬러 줄 수 있는 개수이다.
// 나머지를 가지고 다음 동전으로 작업할 수 있게 한다.
}
}
실행 결과
남은 동전의 개수, 거스르고 남은 돈은...? (3300원까지 입력 int[] coin = {5, 5, 5, 5];)
public static void main(String[] args) {
java.util.Scanner sc = new java.util.Scanner(System.in);
// 3300원
int[] coinUnit = {500, 100, 50, 10}; // 동전의 종류
int[] coin = {5, 5, 5, 5}; // 동전 단위별 개수
System.out.print("동전으로 교환할 금액은 얼마인가요?");
int myMoney = sc.nextInt();
// 남은 동전의 개수, 거스르고 남은 돈은?
for(int i = 0 ; i < coinUnit.length; i ++) {
int coinNum = 0; // 동전의 개수를 저장할 변수
// 금액을 동전단위로 나누어서 필요한 동전의 개수를 구한다.
coinNum = myMoney / coinUnit[i];
// 동전의 개수가 모자란다면 있는 개수 모두 거슬러 준다.
if(coin[i] >= coinNum) {
coin[i] -= coinNum;
} else {
coinNum = coin[i];
coin[i] = 0;
}
// 금액에서 동전의 개수x동전 단위 만큼 차감한다.
myMoney -= coinNum * coinUnit[i];
System.out.println(coinUnit[i] + "원 : " + coinNum + "개");
}
System.out.println("남은 금액 : " + myMoney + "원");
System.out.println("남은 동전의 개수");
for(int i = 0; i < coinUnit.length; i++) {
System.out.println(coinUnit[i] + "원 : " + coin[i] + "개");
}
sc.close();
}
실행 결과
여기에 금액을 금액(숫자)를 입력해주면 아래 결과 출력
'Language > Java' 카테고리의 다른 글
[Java] Java기초 (0) | 2022.07.30 |
---|---|
[Java] 자바소스와 컴파일 (0) | 2022.07.30 |
[Java] Array 실습 (length) (0) | 2022.07.28 |
[Java] Array 내림차순 (0) | 2022.07.28 |
[Java] 배열(Array) 실습 (0) | 2022.07.28 |