반응형
#INFO
난이도 : BRONZE3
출처 : 2884번: 알람 시계 (acmicpc.net)
#SOLVE
h(시간)과 m(분)을 케이스를 나누어 계산하면 풀리는 간단한 문제였다.
나는 h가 0인 케이스와 0이 아닌 케이스, m이 45보다 작은 케이스와 45보다 크거나 같은 케이스로 나누어 계산했다.
h가 0인 케이스
if (h == 0) {
if (m < 45) {
h = 23;
m = 60 - (45 - m);
}
else {
m = m - 45;
}
}
h가 0이 아닌 케이스
else {
if (m < 45) {
h = h - 1;
m = 60 - (45 - m);
}
else {
m = m - 45;
}
}
#CODE
#include <bits/stdc++.h>
using namespace std;
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
int h, m;
cin >> h >> m;
if (h == 0) {
if (m < 45) {
h = 23;
m = 60 - (45 - m);
}
else {
m = m - 45;
}
}
else {
if (m < 45) {
h = h - 1;
m = 60 - (45 - m);
}
else {
m = m - 45;
}
}
cout << h << " " << m;
return 0;
}
반응형
'Archive2 > ProblemSolving' 카테고리의 다른 글
[BOJ] C++ 2667 "단지번호 붙이기" 문제 풀이 _ nov (0) | 2022.03.23 |
---|---|
[BOJ] C++ 7562 "나이트의 이동" 문제 풀이 _ nov (0) | 2022.03.21 |
[BOJ] C++ 1008 "A/B" 문제 풀이 _ nov (feat.정밀도[precision]) (0) | 2022.03.02 |
[BOJ] C++ 1475 "방 번호" 문제 풀이 _ nov (0) | 2022.02.24 |
[BOJ] C++ 1919 "애너그램 만들기" 문제 풀이 _ nov (0) | 2022.02.24 |