문제
5585번: 거스름돈
타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사
www.acmicpc.net
문제이해
잡화점에서 물건을 살 때 1000원을 내고 거스름돈을 받게 되는데 이때 받게되는 최소의 잔돈의 개수 구하기1. 잔돈은 500원, 100원, 50원, 10원, 5원, 1원 으로 구성된다
입력
입력은 한줄로 이루어져있고, 타로가 지불할 돈(1 이상 1000미만의 정수) 1개가 쓰여져있다.
- 물건가격
출력
제출할 출력 파일은 1행으로만 되어 있다. 잔돈에 포함된 매수를 출력하시오.
풀이
받을 수 있는 잔돈의 가장 큰 금액인 500원 부터 시작해 1원까지 받아야될 금액에서 빼면서 카운트하면 된다
코드
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
// 보유한 동전배열
int[] change_arr = {500, 100, 50, 10, 5, 1};
int change = 1000 - sc.nextInt();
int answer = 0;
// 잔돈의 갯수 카운트
for(int i = 0; i < change_arr.length; i++){
answer += change / change_arr[i];
change = change % change_arr[i];
}
System.out.println(answer);
}
}
'Algorithm > 문제' 카테고리의 다른 글
[알고리즘] 백준 2606 : 바이러스 - JAVA (0) | 2023.04.10 |
---|---|
[알고리즘] 백준 1541 : 잃어버린 괄호 - JAVA (0) | 2023.04.10 |
[알고리즘] 백준 1931 : 회의실 배정 - JAVA (0) | 2023.04.06 |
[알고리즘] 백준 1010 : 다리놓기 - JAVA (0) | 2023.04.04 |
[알고리즘] 백준 1009 : 분산처리 - JAVA (0) | 2023.04.04 |