https://www.acmicpc.net/problem/11047
import java.util.Scanner;
public class Main {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int N = sc.nextInt(); // 동전의 종류
int K = sc.nextInt(); // 구해야하는 동전의 합
int [] money = new int [N]; // 동전의 가치
for(int i=0; i<N; i++) {
money[i] = sc.nextInt();
}
int count = 0; // 필요한 동전 개수
int j=N-1; // 큰 수 부터 빼기 -> 동전 개수의 최솟값을 구하기 위해
while(j != -1) { // j가 배열의 0번 까지
if(K >= money[j]) {
K -= money[j]; // 큰 수 부터 빼기
count++; // 한 번 뺄 때 마다 count + 1
}
else {
j--;
}
}
System.out.println(count);
}
}
'코딩테스트 > 백준' 카테고리의 다른 글
[백준-자바] 2502번 떡 먹는 호랑이 / 2022.03.07 (0) | 2022.03.07 |
---|---|
[백준-자바] 2217번 로프 / 2022.03.07 (0) | 2022.03.07 |
[백준-자바] 11399번 ATM / 2022.02.19 (0) | 2022.02.19 |
[백준-자바] 2525번 오븐 시계 / 2022.02.18 (0) | 2022.02.18 |
[백준-자바] 2480번 주사위 세개 / 2022.02.17 (0) | 2022.02.17 |