본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬]12840번 창용이의 시계

by 현장 2021. 11. 9.

-코드

from sys import stdin
h, m, s = map(int, stdin.readline().split())
q = int(stdin.readline())
for i in range(q):
    time = list(map(int, stdin.readline().split()))
    if time[0] == 3:
        print(h, m, s)
    else:
        t = (h * 3600) + (m * 60) + s
        if time[0] == 1:
            t += time[1]
        else:
            t -= time[1]
        if t < 0:
            t += 24 * 3600
        t %= 24 * 3600
        h = t // 3600
        t %= 3600
        m = t // 60
        s = t % 60

처음에 만들고 입출력을 넣어보니  time[0]에 2를 주었을 때, 값이 이상하게 나와서 그냥 h, m, s를 계산하여 하나의 수로 만든 후 계산을 진행하였습니다. 하지만 0시간 아래가 되었을 때를 고려를 안 해서 다시 넣어주고 넣었으나 틀려서 찾아보니 24시간이 넘었을 경우를 생각을 못해서 다시 해결하여 추가를 하고 시간 초과가 뜬다는 것을 보고 그것도 readline을 이용하여 해결을 하였습니다.