본문 바로가기
백준

[백준] 2525번 : 오븐 시계 – JAVA [자바]

by Hongwoo 2022. 4. 13.
반응형

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

 

2525번: 오븐 시계

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

www.acmicpc.net

 


  • 문제

 

 


  • 문제 풀이

백준 2525번 오븐 시계는 또 하나의 수학 문제이다. 이 문제에서는 현재 시각이 주어지는데 현재 시각의 시 A, 그리고 분 B가 주어지고 요리하는데 필요한 시간 C가 주어진다. 그리고 A시 B분에서 C라는 시간이 흘렀을 때 그때의 시간을 출력해주면 된다.

 

나는 이 문제를 나누기와 나머지를 이용해서 풀었다.

 

요리가 끝날 때가 몇 시 인지를 구하려면 H = A + (B + C) / 60을 해주면 된다. 그리고 이게 24보다 크거나 같으면 24를 여기서 빼주면 된다. 

 

요리가 끝날 때 몇 분인지를 구하려면 M = (B + C) % 60을 해주면 된다. 

 

문제에서 주어진 예제들을 한번 보겠다.

 

EX 1) A = 14, B = 30, C = 20.

H = A + (B+C) / 60 = 14 + (30 + 20) / 60 = 14 + 0 = 14

M = (B + C) % 60 = (30 + 20) % 60 = 50

따라서 답 14 50 이 정답이다.

 

EX 2) A = 17, B = 40, C = 80

H = A + (B + C) / 60 = 17 + (40 + 80) / 60 = 17 + 2 = 19

M = (B + C) % 60 = (40 + 80) % 60 = 0

따라서 답 19 0 이 정답이다.

 

EX 3) A = 23, B = 48, C = 25

H = A + (B + C) / 60 = 23 + (48 + 25) / 60 = 23 + 1 = 24 → 0

M = (B + C) % 60 = (48 + 25) % 60 = 13

따라서 답 0 13 이 정답이다.

 


  • 코드

 

import java.io.*;
import java.util.*;
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 a = Integer.parseInt(st.nextToken());
        int b = Integer.parseInt(st.nextToken());
        int c = Integer.parseInt(br.readLine());
        a += (b+c) / 60;
        if (a >= 24) a -= 24;
        b = (b+c) % 60;
        System.out.print(a + " " + b);
    }
}

 


  • 후기

그렇게 어렵지 않은 수학 문제였다.

 

반응형

댓글