金をさがす



質問リンク
探したお金は大数から順番に分けて、分を結果値に加えて、残りは次の大きさのコインに分けます.

Javaを使用した解答

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class BaekJoon5585 {
	
	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		int price = 1000 - Integer.parseInt(br.readLine()); //거스름돈
		int[] coins = {500, 100, 50, 10, 5, 1};		 		//사용할 동전 종류
		int res = 0;										//결과
		
		for(int i = 0; i < coins.length; i++) {		 //큰 동전부터 종류별로 나누기
			if(price < coins[i]) {					 //현재 값이 해당 동전보다 작다면
				continue;							 //다음 동전으로 넘어가기
			}
			
			res += price / coins[i];				 //현재 값을 해당 동전으로 나눈 값을 결과에 더해줌
			price %= coins[i];						 //현재 값은 해당 동전으로 나눈 값의 나머지
		}
		
		System.out.print(res);
		
	}
	
}