본문 바로가기
백준 알고리즘 단계별 풀이 (문제 수)/조건문 (7)

[C++] 알람 시계 : 2884번

by 17번 일개미 2022. 7. 7.
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