공부하기/백준

[Java] 백준 풀기 10162 - 전자레인지

XEV 2023. 8. 13. 23:52

자바 백준 10162번

브론즈 3

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

 

10162번: 전자레인지

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

www.acmicpc.net

 

 

 

 

 

문제 보기

분류: 수학, 구현, 그리디 알고리즘

 

 

 

 

 

문제 풀기

주어진 요리 시간에서 가장 긴 시간 5분 (300초) 버튼으로 나누어 그 횟수를 정하고 그 나머지 시간을 다음 버튼으로 넘겨준다. 다음 버튼인 1분 (60초) 버튼으로 나누어 그 횟수를 정하고 나머지 시간을 마지막 버튼으로 넘겨준다. 남은 10초 C버튼으로 나누어 그 횟수를 저장한다.

A, B, C 버튼의 횟수와 각 시간을 곱해 나온시간을 초기 입력된 요리시간과 비교하여 같으면 그 버튼의 횟수를 출력하고 같지 않으면 `-1`을 출력한다.

 

 

 

 

 

코드 보기

import java.util.Scanner;

public class Main {
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
        int calcT = T;

        int countA = calcT / 300;
        calcT %= 300;

        int countB = calcT / 60;
        calcT %= 60;

        int countC = calcT / 10;

        int totalTime = countA * 300 + countB * 60 + countC * 10;

        if (totalTime == T) {
            System.out.println(countA + " " + countB + " " + countC);
        } else {
            System.out.println("-1");
        }
    }
    
}