동전의 사용 개수를 구해봅시다.
1. 문제 조건
어떤 값이 입력되면 그 값을 500,100,50,10원 동전 개수를 최소한으로 표현하려고 할 때 각 동전을 사용한 개수가 몇 개인지를 구하는 문제
예시 : 입력 2760 -> 출력 :: 500원 : 5개 , 100원 2개, 50원 1개, 10원 1개
2. 코드
int[] coins = {500,100,50,10}에 사용할 동전 종류를 큰 숫자부터 넣어 배열을 만들고 나누기와 나머지를 활용하여 구현한다. 만약 더 작은 숫자의 동전을 넣으려면 이곳에 추가로 넣어주면 된다.
나머지를 이용해서 동전이 필요한 갯수를 구한 다음 나머지 값은 다음 크기의 동전에게 넘겨 주기를 반복한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
Scanner sc = new Scanner(System.in);
System.out.print("입력 ");
int n = Integer.parseInt(sc.nextLine());
int[] coins = {500,100,50,10};
int[] result = new int [coins.length];
for(int i = 0; i < coins.length ; i++){
result[i] += n / coins[i];
n = n % coins[i];
}
for(int i = 0; i < coins.length ; i++) {
if(i != coins.length-1) {
System.out.print(coins[i] + "원 : " + result[i] + "개, ");
}else {
System.out.print(coins[i] + "원 : " + result[i] + "개");
}
}
|
cs |
3. 결과
'JAVA' 카테고리의 다른 글
JAVA - 피보나치 수열의 값 구하기 (0) | 2022.05.31 |
---|---|
JAVA - 팩토리얼 값 구하기 (0) | 2022.05.31 |
JAVA - ArrayList를 알고리즘(버블정렬)과 메소드로 정렬해보자 (0) | 2022.05.23 |
JAVA - 콘솔창에 달력 출력하기 (0) | 2022.05.19 |
Java - 배열로 로또 번호를 생성해보자 (0) | 2022.05.18 |
댓글