//동전 종류 N
//동전 가치의 합 K
//동전의 개수 나와있지 않지만 많음?
//내림차순으로 최대한 금액넣기
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int N = in.nextInt();
int K = in.nextInt();
int[] coins = new int [N];
for(int i = 0; i < N; i++) {
coins[i] = in.nextInt();
}
in.close();
int result = 0;
for(int i = N - 1; i >= 0; i--) {
result += K / coins[i];
K = K % coins[i];
if (K <= 0) {
break;
}
}
System.out.println(result);
}
}
풀이
1. input받고 높은 금액부터 최대한 많이 사용한다.
2. 사용한 개수를 확인한다.
느낀점
java 사용의 감 좀 익힐겸 사용했는데 확실히 cpp보다 메모리라던가 시간적으로도 비효율적인것같다. 많이 풀면서 input을 효율적으로 하는 방법이나 array를 어떤 것을 사용한다던가를 익혀봐야겠다.
'Algorithm > Baekjoon' 카테고리의 다른 글
[C++] 백준 1149 RGB거리 (0) | 2024.06.04 |
---|---|
[C++] 백준 2156 포도주 시식 (0) | 2024.05.29 |
[C++] 백준 1912 연속합 (0) | 2024.05.27 |
[C++] 백준 9935 문자열 폭발 (0) | 2024.05.15 |
[C++] 백준 10816 숫자 카드2 (0) | 2024.05.14 |