공부하기/백준

[Java] 백준 풀기 2530 - 인공지능 시계

XEV 2023. 7. 17. 23:23

자바 백준 2530번

브론즈 4

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

 

2530번: 인공지능 시계

첫째 줄에 종료되는 시각의 시, 분, 초을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수이며, 분, 초는 0부터 59까지의 정수이다. 디지털 시계는 23시 59분 59초에서 1초가 지나면 0시 0

www.acmicpc.net

 

 

 

 

 

문제 보기

분류: 수학, 사칙연산

 

 

 

 

 

문제 풀기

쉬운 이해를 위해 순차적으로 hour과 minute를 second로 변환하고 조리 시간을 더하여 총 시간을 seconds로 만든다.

조리 후 시각을 구하기 위해 hour은 총 seconds를 60분 x 60초로 나눈 후 24시로 나눈 나머지로 계산하고, minute는 총 seconds를 60분 x 60초로 나눈 나머지를 찾고 60초로 나눈 몫으로 구한다. 그리고, second는 총 seconds를 60초로 나눈 나머지를 통해 찾는다.

 

 

 

 

 

코드 보기

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int h = sc.nextInt();
        int m = sc.nextInt();
        int s = sc.nextInt();
        int cooking = sc.nextInt();
        
        String result = calcCookingEndTime(h, m, s, cooking);
        
        System.out.print(result);
    }
    
    private static String calcCookingEndTime(int h, int m, int s, int cooking) {
        int total = h * 3600 + m * 60 + s + cooking;
        
        int end_h = (total / 3600) % 24;
        int end_m = (total % 3600) / 60;
        int end_s = total % 60;
        
        return (end_h + " " + end_m + " " + end_s);
    }
    
}