728x90
오답 노트 & 새로 알게 된 점
첫 그리디 문제이다. 이 문제는 그냥 쉽게 생각했다. 오름차순으로 입력해주기 때문에 제일 뒤에서부터 K원보다 크면 넘어가면서 더 작은 가치의 동전으로 넘어가고, K원보다 작거나 같으면 빼주면서 다시 while문을 돌렸다.
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
package Greedy;
import java.util.*;
import java.io.*;
public class Main {
public static void main(String args[]) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int coin_cnt = Integer.parseInt(st.nextToken());
int value = Integer.parseInt(st.nextToken());
int coin[] = new int[coin_cnt];
for(int i = 0; i < coin_cnt; i++){
st = new StringTokenizer(br.readLine());
coin[i] = Integer.parseInt(st.nextToken());
}
int cnt = 0;
int limit = coin_cnt-1;
while(value != 0){
if(coin[limit] > value){
limit--;
continue;
}
else{
value -= coin[limit];
cnt++;
}
}
System.out.println(cnt);
}
}
|
cs |
728x90
'BOJ(Java)' 카테고리의 다른 글
자바(백준) 9466 텀 프로젝트 (0) | 2021.05.28 |
---|---|
자바(백준) 2636 치즈 (0) | 2021.05.27 |
자바(백준) 2206 벽 부수고 이동하기 (0) | 2021.05.17 |
자바(백준) 1149 RGB 거리 (0) | 2021.05.16 |
자바(백준) 1932 정수 삼각형 (0) | 2021.05.16 |