
24시간인 우리 알람 시계를 기준으로 45분을 먼저 일어난다는 것이다. 문제는 24시가 0시로 표현되므로, 예를 들어 00시 23분에 일어나야 된다면 23시 38분에 일어나게끔 알람 시계를 맞추게 하면 된다.
따라서, H가 0이고 M 이 45분보다 미만일 경우, 그리고 H가 0보다 크고, M이 45분 보다 작을 경우, 그리고 나머지의 경우를 나누어서 if문을 쓰면 될 것이다. 내가 짠 코드는 다음과 같다:
import sys H, M = map(int, sys.stdin.readline().split()) if H == 0 and M < 45: print("23" + " " + str(M+15)) elif H > 0 and M < 45: print(str(H-1) + " " + str(M+15)) else: print(str(H) + " " + str(M-45))
여기서는 이제 import sys를 통한 sys.stdin.readline()을 사용하기로 했다. Velog의 설명에 따르면, input()과 sys.stdin.readline()의 차이점은 다음과 같다:
sys.stdin.readline()은 사용자의 입력을 받지만 개행 문자도 입력 받을 수 있다. input()은 더 이상 입력이 없는데도 수행될 경우 EOFerror(end-of-file error)이 발생하지만, sys.stdin.readline()은 빈 문자열을 반환한다.
또한, 수행시간도 더 빠르기도 하고, 시간초과 에러가 잘 나지도 않는다.