알고리즘/백준

5585번 : 거스름돈

코딍코딍 2022. 6. 22. 15:09

https://www.acmicpc.net/problem/5585

 

5585번: 거스름돈

타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사

www.acmicpc.net

 

문제

 

 

코드

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		int m = s.nextInt();
		int t = 1000-m;
		int n=0;
		
		int a = t/500; n+=a; t-=500*a;
		a = t/100; n+=a; t-=100*a;
		a = t/50; n+=a; t-=50*a;
		a = t/10; n+=a; t-=10*a;
		a = t/5; n+=a; t-=5*a;
		a = t/1; n+=a; t-=1*a;
		
		System.out.print(n);
	}
}

 

 

해결방법

단순히 거스름돈 개수를 가장 적게 만드는 잔돈의 개수를 구하는 문제라 잔돈을 500엔부터 1엔까지 빼주면서 최소 개수를 구하였다. 배열을 만들어서 반복문을 사용했으면 더 좋았을 것 같다.