개발자일걸요..?

11047번 동전0 본문

알고리즘코딩/Baekjoon Online Judge

11047번 동전0

Re_A 2021. 2. 19. 21:57
728x90
반응형

문제 링크 : www.acmicpc.net/problem/11047

 

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

<<알고리즘>>

1. 입력받은 단위를 오름차순 / 내림차순 순으로 정렬

2. 제일 큰 가치의 동전부터 목표치에서 빼나간다. 이때 동전의 갯수 증가

3. 동전의 개수 출력

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.Arrays;

public class Main{
	public static void main(String[] args) {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		String s = "";
		try {
			s = bf.readLine();
		}catch(IOException e) {}
		StringTokenizer st = new StringTokenizer(s);
		int N = Integer.parseInt(st.nextToken());
		int K = Integer.parseInt(st.nextToken());
		
		int money[] = new int[N];
		for(int i =0;i<N;i++) {
			try {
				s = bf.readLine();
			}catch(IOException e) {}
			money[i] = Integer.parseInt(s);
		}
		Arrays.sort(money);
		
		int count =0;
		for(int i =N-1;i>=0;i--) {
			while(true) {
				if(K>=money[i]) {
					++count;
					K-=money[i];
				}
				else {
					break;
				}
			}
		}
		System.out.println(count);
	}
}
반응형

'알고리즘코딩 > Baekjoon Online Judge' 카테고리의 다른 글

13305번 주유소  (0) 2021.02.20
11399번 ATM  (0) 2021.02.20
9375번 패션왕 신해빈  (0) 2021.02.16
1010번 다리놓기  (0) 2021.02.16
2004번 조합 0의 개수  (0) 2021.02.15
Comments