나의 풀이.
첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다.
최소 값을 만들려면 동전을 큰 단위부터 비교해 k보다 작거나 같은 동전이 나오면
동전 갯수 += k / 동전 단위;
남은 금액(k) = k % 동전 단위;를 반복해 준다.
package day028;
import java.util.Scanner;
public class ACMICPC11047 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
int cnt = 0; // 동전 갯수
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
for (int i = n - 1; i >= 0; i--) {
if (arr[i] > k) { // 화폐단위가 k보다 크면 다음 반복으로 ㄱㄱ
continue;
}
if (arr[i] <= k) {
cnt += k / arr[i];
k %= arr[i];
}
}
System.out.println(cnt);
}
}
'CODING TEST' 카테고리의 다른 글
프로그래머스 고득점 Kit - 스택/큐 프로세스 (0) | 2023.07.22 |
---|---|
기초수학 - 집합(Set)과 관련 코딩테스트 문제들 (0) | 2023.05.31 |
백준 2167번 - 2차원 배열의 합 (0) | 2023.05.29 |
백준 1254번 - 팰린드롬 만들기 (0) | 2023.05.29 |
프로그래머스 - 덧칠하기 (0) | 2023.05.26 |