Java

[백준]11047번 동전 0 (Java)

머리방울 2023. 1. 7. 20:04

 

Scanner버전

나에게는 Scanner가 익숙하기 때문에 Scanner를 사용하여 값을 받았다.

처리 속도 측면에서 차이가 있기 때문에 추후에는 bufferedreader를 사용하는 방법도 생각해보자!

 

import java.util.Scanner;

public class Print01 {  
	  public static void main(String args[]) { 
	    Scanner sc = new Scanner(System.in);

	    //동전 종류
	    int N = sc.nextInt();
	    //동전 합 
	    int K = sc.nextInt();

	    //동전 종류가 담길 배열
	    int[] coin = new int[N];

	    //N개 만큼 코인 담기
	    for(int i = 0; i < N; i++){
	      coin[i] = sc.nextInt();  
	    }
	    
	    //몇개의 코인이 필요한지
	    int count = 0;

	    //최소한 코인 갯수 찾기(큰 수부터 내려오면서 찾기)
	    for(int i = N-1; i >=0; i--){
	      if(K >= coin[i]){
	        // K를 구하기 위해 coin이 몇개 필요한지 구하기
	        count += (K / coin[i]);
	        // 위의 값을 구한 나머지 값
	        K = (K % coin[i]);
	      }
	    
	    }
	    System.out.print(count);
	  } 
}