[BaekJoon] #2884 - 알람 시계 [Java][C++]
[BaekJoon] #2884 - 알람 시계 [Java][C++]
1. 아이디어
알람 시간을 의미하는 두 정수 $H$, $M$이 주어졌을 때, 45분 이전의 시각을 출력해야 하는 문제로 분 정보가 45 이상이면 분 정보만 갱신하면 되며 분 정보가 45 미만일 경우 시 정보도 갱신해야 한다. 이때 시 정보가 0시이면 23시가 되며 그 외의 경우 시 정보를 한 시간 전으로 되돌리면 된다.
2. 복잡도
| 접근 | 시간 | 공간 |
|---|---|---|
| 풀이 | $O(1)$ | $O(1)$ |
3. 코드
풀이 [Java][C++]
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));
}
}
}
}
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(0);
cin.tie(0);
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.