문제 링크
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;
}
}
}
|
3. 풀이 정보
1. 사칙연산 [Java]
| 언어 | 시간 | 메모리 | 코드 길이 |
|---|
| Java 11 | 124 ms | 16128 KB | 658 B |
2. 사칙연산 [C++]
| 언어 | 시간 | 메모리 | 코드 길이 |
|---|
| C++ 17 | 0 ms | 2020 KB | 355 B |