Jun's Development Journey

[BOJ] 5585번 거스름돈 본문

BOJ/Greedy

[BOJ] 5585번 거스름돈

J_Jayce 2021. 3. 9. 10:34

문제

www.acmicpc.net/problem/5585

 

5585번: 거스름돈

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

www.acmicpc.net

풀이

전형적인 그리디 알고리즘 문제이다. 거스름돈 종류 중 가장 큰 종류부터 순서대로 지불한다면, 최소의 갯수로 만들 수 있다.

 

import java.io.*;
import java.util.*;

public class Main {
	static int[] changes = {500,100,50,10,5,1};
	static int change_num(int change) {
		int cnt =0;
		for(int i=0;i<6;i++) {
			cnt+=(change/changes[i]);
			change%=changes[i];
		}
		return cnt;
	}
	public static void main(String[] args) throws IOException {
        //선언 및 입력
    	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	StringBuilder sb = new StringBuilder();
    	int change = 1000-Integer.parseInt(br.readLine());
    	
    	
    	//계산
    	System.out.println(change_num(change));
    	
	}
} 

'BOJ > Greedy' 카테고리의 다른 글

[BOJ] 2965번 캥거루 세마리  (0) 2021.03.09
[BOJ] 1434번 책정리  (0) 2021.03.09
[BOJ] 2720번 세탁소 사장 동혁  (0) 2021.03.09
[BOJ] 11399 ATM  (0) 2021.02.18
[BOJ] 1541 잃어버린 괄호  (0) 2021.02.17