관리 메뉴

100세까지 코딩

[백준] 2884번 알람 시계 (파이썬) 본문

코딩테스트/파이썬

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

100세까지 코딩 2024. 1. 5. 17:43
문제

나의 생각
  • M을 기준으로 M이 45 이상인지 미만인지에 따라 분기점이 나뉜다.
  • M이 45 미만이면 H - 1을 해주고 M + 60 - 45를 해준다.
  • M이 45이상이면 H, M - 45를 해준다.
  • 대신 H가 0이면 그 전날인 23시로 가야 된다.
나의 풀이
H, M = map(int, input().split())

if H == 0:
    if M < 45:
        H = 23
        M = M + 15
    else:
        M = M - 45
else:
    if M < 45:
        H = H - 1
        M = M + 15
    else:
        M = M - 45
print(H, M)

 

나의 풀이2 (간략화)
H, M = map(int, input().split())

if M < 45:
    if H > 0:
        print(H - 1, M + 15)
    else:
        print(H + 23, M + 15)
else:
    print(H, M-45)
둘 다 통과는 되지만 공통된 부분을 찾아 간략화를 하면 가독성이 올라간다.