728x90
문제
주어진 시간에서 45분 전을 계산하여 출력하시오.
예제 입력
10 10
예제 출력
9 25
예제 입력
0 30
예제 출력
23 45
풀이
#include <iostream>
using namespace std;
int main() {
int hour; int min; // 시간, 분
cin >> hour >> min;
if (min < 45) { // 분이 45분보다 작다면
min = min + 60; // 60을 더하고 시간에서 1을 뺌
if (hour == 0) { // 시간이 0시라면 24시로 변경
hour = 24;
}
hour = hour - 1;
min = min - 45;
cout << hour << ' ' << min;
}
else if (min >= 45) { // 45분 이상이라면
min = min - 45; // 그냥 뺌
cout << hour << ' ' << min;
}
else return 0;
}
보통 사람이 시간을 계산하는 방식을 코드로 구현하면 될 것 같았다.
2시 15분에서 45분전을 계산하기 위해 우리는 1시간을 60분으로 끌어와 1시 75분으로 만들어 준 다음,
75분에서 45분을 빼 1시 30분을 구할 수 있다.
이 원리를 그대로 적용하였다.
728x90
'백준 알고리즘 단계별 풀이 (문제 수) > 조건문 (7)' 카테고리의 다른 글
[C++] 주사위 세개 : 2480번 (0) | 2022.07.07 |
---|---|
[C++] 오븐 시계 : 2525번 (0) | 2022.07.07 |
[C++] 사분면 고르기 : 14681번 (0) | 2022.07.07 |
[C++] 윤년 : 2753번 (0) | 2022.07.07 |
[C++] 시험 성적 : 9498번 (0) | 2022.07.07 |