gimmickbutreal

[백준/자바] 2525번 해설 - Java 본문

Algorithm/Java

[백준/자바] 2525번 해설 - Java

isshosng 2022. 2. 14. 18:16

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

 

2525번: 오븐 시계

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

www.acmicpc.net

 

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
// 훈제오리구이를 시작하는 시각과 오븐구이를 하는 데 필요한 시간이 분단위로 주어졌을 때, 오븐구이가 끝나는 시각을 계산하는 프로그램을 작성하시오.
// 첫째 줄에는 현재 시각이 나온다. 현재 시각은 시 A (0 ≤ A ≤ 23) 와 분 B (0 ≤ B ≤ 59)가 정수로 빈칸을 사이에 두고 순서대로 주어진다.
// 두 번째 줄에는 요리하는 데 필요한 시간 C (0 ≤ C ≤ 1,000)가 분 단위로 주어진다.
// 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다.
// (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
// BufferedReader는 객체 생성시 생성자의 입력값으로 InputStreamReader의 객체가 필요함
// InputStream - byte / InputStreamReader - character / BufferedReader - String
 
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();
        StringTokenizer st = new StringTokenizer(str);
        // 띄어쓰기를 기준으로 문자열을 분리함
 
        int h = Integer.parseInt(st.nextToken());
        int m = Integer.parseInt(st.nextToken());
        // Integer.parseInt(String) 문자열을 인자값으로 받으면 해당 값을 10진수의 Integer형으로 변환
        // 띄어쓰기를 기준으로 h, m 값을 각각 입력함. 띄어쓰기가 기준인 이유는 StringTokenizer에서 (str)으로 했기 때문임 
        int t = Integer.parseInt(br.readLine());
        // br.readLine()의 문자열을 Integer로 변환해야 함
 
        h += t / 60;
        m += t % 60;
 
        if(m >= 60){
            h += 1;
            m -= 60;
        }
        if(h >= 24){
            h -= 24;
        }
        System.out.println(h + " " + m);
    }
}
 
cs

백준 자바 2525번 풀이 해설

tip)

- Scanner 보다 BuffreredReader를 쓰자. 더 빠르다!