본문 바로가기

ALGORITHM

백준 11047 동전 0 (Java)

1. 문제 링크

 

11047번: 동전 0

첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)

www.acmicpc.net

 

2. 문제 및 입출력예제

 

3. 문제 풀이

오름차순으로 주어지는 동전을 배열에 넣은 후

K를 배열의 뒤부터 빼는 반복문을 돌리면 된다.

 

4. 코드

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

public class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        
        String str = br.readLine();
        String[] nk = str.split(" ");
        int n = Integer.parseInt(nk[0]);
        int k = Integer.parseInt(nk[1]);
        
        int[] num = new int[n];
        for(int i=0;i<n;i++) {
        	num[i] = Integer.parseInt(br.readLine());
        }
        
        int result = 0;
        for(int i=n-1;i>=0;) {
        	if(k>=num[i]) {
        		k-=num[i];
        		result++;
        	}
        	else
        		i--;
        	if(k==0) break;
        }
        System.out.println(result);
	}
}

 

'ALGORITHM' 카테고리의 다른 글

백준 1764 듣보잡 (Java)  (0) 2023.01.31
백준 6065 카잉 달력 (Java)  (0) 2023.01.30
백준 1010 다리놓기 (Java)  (0) 2023.01.28
백준 1157 단어 공부 (Java)  (0) 2023.01.27
백준 8958 OX퀴즈 (Java)  (0) 2023.01.26