문제 링크 : https://www.acmicpc.net/problem/2884
시간개념의 시/분 을 어떻게 표현하면 되는지 알 수 있는 문제 였습니다.
처음에는, 시간(이하 H)을 분(이하 M)으로 변환하여 풀려고 하였으나,
이 경우에는 변환 + 음수처리(0시 이전)을 해 주어야 한다는 점은 변하지 않았습니다.
따라서 추가적인 변환을 피하기 위해(음수처리는 계속 해야 함.) 그냥 M - 45를 한 후
그 값이 음수이면 보정을 하는 방식을 채택하였습니다.
소스코드 :
시간개념의 시/분 을 어떻게 표현하면 되는지 알 수 있는 문제 였습니다.
처음에는, 시간(이하 H)을 분(이하 M)으로 변환하여 풀려고 하였으나,
이 경우에는 변환 + 음수처리(0시 이전)을 해 주어야 한다는 점은 변하지 않았습니다.
따라서 추가적인 변환을 피하기 위해(음수처리는 계속 해야 함.) 그냥 M - 45를 한 후
그 값이 음수이면 보정을 하는 방식을 채택하였습니다.
소스코드 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include <iostream>
using namespace std;
int main() {
int h, m;
cin >> h >> m;
int minute = m - 45;
if (minute < 0) {
h -= 1;
if (h < 0) {
h += 24;
}
minute += 60;
}
cout << h << ' ' << minute << endl;
}
| cs |
댓글
댓글 쓰기