개발공부/알고리즘

[파이썬] 백준 2884 알람시계

jennayeo 2021. 5. 2. 16:48

https://www.acmicpc.net/problem/2884

 

2884번: 알람 시계

상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만,

www.acmicpc.net

 

예제의 규칙을 잘 보면 m이 15씩 줄어드는 것을 알 수있다.
그리고 마침 60 - 45 = 15😂
그렇다면 new_M = M - 15를 해주면되겠다.

규칙을 정리해보자면

  • 10시 10분 -> 9시 25분
    H - 1
    M + 15
  • 10시 50분 -> 10시 5분
    H
    M - 45

  • 하지만 여기서 생각해주지 못한게
    입력값에 0, 30을 넣으면 23,45대신 -1, 45이 나온다.

따라서 23일때의 조건을 따로 넣어줘야한다.

h, m = map(int, input().split())

if m >= 45:
    print(h, m-45)
elif h == 0 and m < 45:
    print(23, m+15)
elif m < 45:
    print(h-1, m+15)