Skip to content

Commit 3883554

Browse files
committed
그리디 /
1 parent 5b9709b commit 3883554

2 files changed

Lines changed: 69 additions & 0 deletions

File tree

11047번 - 동전 0/Main.java

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
2+
/* ************************************************************************** */
3+
/* */
4+
/* ::: ::: ::: */
5+
/* Problem Number: 11047 :+: :+: :+: */
6+
/* +:+ +:+ +:+ */
7+
/* By: thxogh1 <boj.kr/u/thxogh1> +#+ +#+ +#+ */
8+
/* +#+ +#+ +#+ */
9+
/* https://boj.kr/11047 #+# #+# #+# */
10+
/* Solved: 2025/04/22 08:23:22 by thxogh1 ### ### ##.kr */
11+
/* */
12+
/* ************************************************************************** */
13+
import java.io.BufferedReader;
14+
import java.io.InputStreamReader;
15+
import java.util.StringTokenizer;
16+
17+
public class Main {
18+
19+
public static void main(String[] args) throws Exception {
20+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
21+
StringTokenizer st = new StringTokenizer(br.readLine());
22+
23+
int n = Integer.parseInt(st.nextToken());
24+
int k = Integer.parseInt(st.nextToken());
25+
26+
int[] coin = new int[n];
27+
for (int i = 0; i < n; i++) {
28+
coin[i] = Integer.parseInt(br.readLine());
29+
}
30+
int ans = 0;
31+
for (int i = n - 1; i >= 0; i--) {
32+
ans += k / coin[i];
33+
k %= coin[i];
34+
if (k == 0) {
35+
break;
36+
}
37+
}
38+
System.out.println(ans);
39+
}
40+
}

11047번 - 동전 0/README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# 11047번: 동전 0 - <img src="https://static.solved.ac/tier_small/7.svg" style="height:20px" /> Silver IV
2+
3+
<!-- performance -->
4+
5+
<!-- 문제 제출 후 깃허브에 푸시를 했을 때 제출한 코드의 성능이 입력될 공간입니다.-->
6+
7+
<!-- end -->
8+
9+
## 문제
10+
11+
[문제 링크](https://boj.kr/11047)
12+
13+
<p>준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다.</p>
14+
15+
<p>동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오.</p>
16+
17+
## 입력
18+
19+
<p>첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000)</p>
20+
21+
<p>둘째 줄부터 N개의 줄에 동전의 가치 A<sub>i</sub>가 오름차순으로 주어진다. (1 ≤ A<sub>i</sub> ≤ 1,000,000, A<sub>1</sub> = 1, i&nbsp;≥ 2인 경우에&nbsp;A<sub>i</sub>는 A<sub>i-1</sub>의 배수)</p>
22+
23+
## 출력
24+
25+
<p>첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다.</p>
26+
27+
## 소스코드
28+
29+
[소스코드 보기](Main.java)

0 commit comments

Comments
 (0)