#include <stdio.h>
int main() {
int h, m;
scanf("%d %d", &h, &m);
//만약 m이 빼려는 값 45보다 작다면 -> h를 -1하고 m을 60 더한다.
if (m - 45 < 0) {
h -= 1;
m += 60;
}
//만약 h가 0인데 -1을 해야하는경우 h에 24을 더한다.
if (h < 0) {
h += 24;
}
m -= 45;
printf("%d %d", h, m);
}
먼저 시간과 분을 받는다.
이후 분 값이 45보다 작을때 1시간을 60분으로 변환하여 45를 빼고,
분 값이 45보다 크다면 바로 45를 빼도록 하였다.
계산 후 시간 값이 -(마이너스)대로 넘어갔다면 24을 더하여 최종 값을 출력한다.
생각없이 풀기엔 변수가 꽤나 있는 문제였다. 물론 알고리즘 문제 자체가 생각없인 풀기 힘든 문제들이긴 하지만..
평소엔 생각하지 않았던 시간과 분의 관계에 대해 다시 생각하게 되었다.
'시간이 이리도 기계적으로 움직이는거였나?' 와 같이 말이다.
전자시계에 사용된 소프트웨어도 이런 변수들을 모두 고려하여 만들어졌다고 생각하니 그 시계가 달라보였다.