자바생
Published 2021. 5. 22. 02:46
자바(백준) 11047 동전 0 BOJ(Java)
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
profile

자바생

@자바생

틀린 부분이 있다면 댓글 부탁드립니다~😀

검색 태그