[BaekJoon] 2884번 - 알람 시계 [Java][C++]
[BaekJoon] 2884번 - 알람 시계 [Java][C++]
1. 문제 풀이
알람 시간을 의미하는 두 정수 $H$, $M$ 이 주어졌을 때, $45$ 분 이전의 시각을 출력해야 하는 문제로 분 정보가 $45$ 이상이면 분 정보만 갱신하면 되며 분 정보가 $45$ 미만일 경우 시 정보도 갱신해야 한다. 이때 시 정보가 $0$ 시이면 $23$ 시가 되며 그 외의 경우 시 정보를 한 시간 전으로 되돌리면 된다.
2. 코드
1. 풀이 [Java]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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 H = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
if (M >= 45) {
System.out.println(H + " " + (M - 45));
} else {
if (H > 0) {
System.out.println((H - 1) + " " + (M + 15));
} else {
System.out.println("23 " + (M + 15));
}
}
}
}
2. 풀이 [C++]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int h, m;
cin >> h >> m;
if (m >= 45) {
cout << h << ' ' << m - 45;
} else {
if (h > 0) {
cout << h - 1 << ' ' << m + 15;
} else {
cout << "23 " << m + 15;
}
}
}
This post is licensed under CC BY 4.0 by the author.