Dev.J

백준 10162: 전자레인지 본문

Computer Science/Algorithm

백준 10162: 전자레인지

JJ____ 2021. 9. 23. 22:58

https://www.acmicpc.net/problem/10162

 

10162번: 전자레인지

3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은

www.acmicpc.net

그리디 알고리즘(Greedy Algorithm)
: 욕심쟁이 알고리즘이라고도 불리며, 가장 좋다고 생각하는 것을 선택해 나가는 방식이지만 최적해를 보장하지는 않는다.

풀이 설계 방식

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
38
39
40
41
42
43
44
import java.util.Scanner;
 
public class Bjoon10162 {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        System.out.println("숫자를 입력하시오.");
        int T = sc.nextInt();
        int A = 300;
        int B = 60;
        int C = 10;
        int cntA = 0;
        int cntB = 0;
        int cntC = 0;
        int addTime = 0// T와 값을 비교할 변수
 
        if (T % 10 == 0) {
            while (T != addTime) {
                if (T >= addTime + A) {
                    addTime = addTime + A;
                    cntA += 1;
                    continue;
                }
                else if (T >= addTime + B) {
                    addTime += B;
                    cntB += 1;
                    continue;
                }
                else if (T >= addTime + C) {
                    addTime += C;
                    cntC += 1;
                    continue;
                }
            }
            
            System.out.println(cntA + " " + cntB + " " + cntC);
        }
        else {
            System.out.println("-1");
        }
        sc.close();
    }
}
cs

 

실행결과

숫자를 입력하시오.
590
1 4 5

728x90