기루 기룩 기록
[CodeUp] 3301 - 거스름돈(Java) 본문
반응형
문제설명
어떤 가게의 욕심쟁이 점원은 거스름돈을 나눠줄때 거스름돈의 개수를 적게해서 주고자 한다.
거스름돈을 입력 받아 점원이 줄 수 있는 최소 거스름돈의 개수를 출력하시오.
예를 들어 54520원인 경우,
거스름돈으로 50000원권 1장, 1000원권 4장, 500원 1개, 10원 2개 해서 총 8개이다.
(※ 현재 우리나라가 사용하고 있는 화폐를 사용한다. 10원 50원 100원 500원 1,000원 5,000원 10,000원 50,000원)
출력
최소 거스름돈의 개수를 출력한다.
입력 예시
54520
출력 예시
8
제출
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
// 10원 50원 100원 500원 1,000원 5,000원 10,000원 50,000원
Scanner sc = new Scanner(System.in);
int[] cost = {50000, 10000, 5000, 1000, 500, 100, 50, 10};
int n = sc.nextInt(); // 거스름돈
int a = 0; // 거스름돈 갯수
for(int i = 0; i<cost.length;i++){
a+= n/cost[i]; // 거스름돈 갯수
n = n%cost[i]; // 남은 금액
}
System.out.println(a);
}
}
문제 해결
거스름돈의 갯수를 구하기 위해 우선 50,000원 부터 10원까지의 배열을 만들었습니다.
최소한의 거스름돈의 갯수를 구하기위해 50,000원 부터 시작해 최소의 값을 구했습니다.
반응형