ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ 백준 ][ 자바 ][ 11047] 동전 0
    카테고리 없음 2019. 6. 17. 21:20

    이 문제도 간단하다 현재 값보다 작은동전들 중에 가장 큰값으로 빼주는 걸 반복하면서 

    카운트를 세면 쉽게 풀수있다!

    package back;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Scanner;
    
    public class Main_backjoon_11047_동전 {
    	static int N;
    	static int K;
    	static int TEMP;
    	static ArrayList arr = new ArrayList();
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		N = sc.nextInt();
    		K = sc.nextInt();
    		TEMP = K;
    		for(int i = 0 ; i < N; i++) {
    			arr.add(sc.nextInt());
    		}
    		Collections.reverse(arr);
    		solve();
    	}
    	public static void solve() {
    		int count = 0;
    		//solve();
    		//차례로 뺴기가 가능한지 
    		// 뺴기가 가능하면 안 뺴질떄가지 반복
    		// 다시 빼기가 가능한지
    		for(int i = 0; i < N; i++) {
    			if( arr.get(i) <= TEMP) {
    				while(TEMP >= arr.get(i)) {
    					count += 1; 
    					TEMP -= arr.get(i);
    					//System.out.println(TEMP + "  "+ count);
    					if(TEMP == 0) {
    						System.out.println(count
    								);
    						return; 
    					}
    					
    				}
    			
    			}
    		}
    	}
    }
    
    

    댓글

Designed by Tistory.