본문 바로가기

Coding/백준

10162번 전자레인지

 그리디 알고리즘

 

 주어진 A, B, C(지정된 시간) 중 제일 큰 숫자부터 들어가게 하면 최소값을 구할 수 있다. 이 때 C로 나눌 수 없는 값들은 A, B로도 나눌 수 없기 때문에 '-1'을 출력해주면 된다.

 

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
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class Main {
    
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        int N = Integer.parseInt(br.readLine());
        
        solved(N);
    }
 
    static void solved(int N) {
 
        int A = 0 ,B = 0,C = 0;
        
        while(N>=10) {
            if(N>=300) {
                A = N/300;
                N %= 300;
            } else if(N>=60) {
                B = N/60;
                N %= 60;
            } else {
                C = N/10;
                N %= 10;
            }
        }
        if(N!=0) {
            System.out.println(-1);
        } else {
            System.out.println(A + " " + B + " " + C);
        }
    }
}
cs

'Coding > 백준' 카테고리의 다른 글

1789번 수들의 합 (java)  (0) 2021.07.07
1339번 단어 수학  (0) 2021.05.20
2217번 로프  (0) 2021.05.03
2839번 설탕 배달  (0) 2021.04.26
1008번 A/B  (0) 2021.03.13