gimmickbutreal
[백준/자바] 2525번 해설 - Java 본문
https://www.acmicpc.net/problem/2525
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를 쓰자. 더 빠르다!
'Algorithm > Java' 카테고리의 다른 글
[백준/자바] 11720번 해설 - Java (0) | 2022.02.16 |
---|---|
[백준/자바] 2480번 해설 - Java (0) | 2022.02.15 |
[백준/자바] 11654번 해설 - Java (0) | 2022.02.13 |
[백준/자바] 1065번 해설 - Java (0) | 2022.02.12 |
[백준/자바] 4673번 해설 - Java (0) | 2022.02.11 |