gimmickbutreal
[백준/자바] 2884번 - Java 본문
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
|
// 첫째 줄에 두 정수 H와 M이 주어진다. (0 ≤ H ≤ 23, 0 ≤ M ≤ 59) 그리고 이것은 현재 상근이가 설정한 놓은 알람 시간 H시 M분을 의미한다.
// 입력 시간은 24시간 표현을 사용한다. 24시간 표현에서 하루의 시작은 0:0(자정)이고, 끝은 23:59(다음날 자정 1분 전)이다. 시간을 나타낼 때, 불필요한 0은 사용하지 않는다.
// 첫째 줄에 상근이가 창영이의 방법을 사용할 때, 설정해야 하는 알람 시간을 출력한다. (입력과 같은 형태로 출력하면 된다.)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int H = in.nextInt();
int M = in.nextInt();
in.close();
if(M < 45) {
H--;
M= 60 - (45 - M);
if(H < 0) {
H = 23;
}
System.out.println(H + " " + M);
}
else {
System.out.println(H + " " + (M - 45));
}
}
}
|
cs |
tip)
- in.close(); 해주기
- if구문 안에 if 넣을 수 있음
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
|
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
// BufferedReader는 객체 생성시 생성자의 입력값으로 InputStreamReader의 객체가 필요함
// 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," ");
// 문자 하나하나로 읽고 싶을 때 StringTokenizer >> 1 2를 1+공백+2가 아니라 1과 공백으로 구분된 2 두 가지로 읽겠단 뜻임
// String(문자) + Tokenziner(토큰화하다) 토큰은 분리된 무언가를 의미하는 단어임
int H = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
if(M < 45) {
H--;
M = 60 - (45 - M);
if(H < 0) {
H = 23;
}
System.out.println(H + " " + M);
}
else {
System.out.println(H + " " + (M - 45));
}
|
cs |
'Algorithm > Java' 카테고리의 다른 글
[백준/자바] 8393번 - Java (0) | 2022.01.20 |
---|---|
[백준/자바] 2739번 - Java (0) | 2022.01.18 |
[백준/자바] 14681번 해설 - Java (0) | 2022.01.16 |
[백준/자바] 2753번 해설 - Java (0) | 2022.01.15 |
[백준/자바] 9498번 해설 - Java (0) | 2022.01.14 |