[백준/파이썬] 1408번 24 풀이

업데이트:



문제 정보


풀이

문제

도현이는 Counter Terror Unit (CTU)에서 일하는 특수요원이다. 도현이는 모든 사건을 정확하게 24시간이 되는 순간 해결하는 것으로 유명하다. 도현이는 1시간 만에 범인을 잡을 수 있어도 잡지 않는다. 정확하게 24시간이 되는 순간이 아니면 잡지 않는 CTU 특수요원이다.

2008년 3월 3일 월요일, CTU는 새학기에 맞춰 핵폭탄을 날리겠다는 테러 정보를 입수했다. CTU에서는 특수요원 도현이에게 이 임무를 맡겼다. CTU의 프로그래머 준규는 이 사건의 배후가 김선영이란 것을 해킹을 통해 밝혀내었다.

도현이는 선영이를 임무를 시작한지 정확하게 24시간이 되는 순간에 잡으려고 한다.

만약 지금 시간이 13:52:30이고, 임무를 시작한 시간이 14:00:00 이라면 도현이에게 남은시간은 00:07:30 이다.

모든 시간은 00:00:00 ~ 23:59:59로 표현할 수 있다. 입력과 출력에 주어지는 모든 시간은 XX:XX:XX 형태이며, 숫자가 2자리가 아닐 경우에는 0으로 채운다.

도현이가 임무를 시작한 시간과, 현재 시간이 주어졌을 때, 도현이에게 남은 시간을 구하는 프로그램을 작성하시오.

  • 자세한 문제 및 입출력 예제는 상단의 문제 출처(백준 홈페이지)를 참조해주세요

코드

t = []
s = input().split(":")
t.append(int(s[0])*3600 + int(s[1])*60 + int(s[2]))
s = input().split(":")
t.append(int(s[0])*3600 + int(s[1])*60 + int(s[2]))

if len(t) == 1:
    t.append(t[0])
elif t[0] <= t[1]:
    t[0] += 86400

sec = 86400 - (t[0] - t[1])
time = []
time.append(str("%02d" %(sec//3600)))
sec %= 3600
time.append(str("%02d" %(sec//60)))
sec %= 60
time.append(str("%02d" %(sec)))
print(":".join(time))

설명

단순히 시간 차를 구하는 문제입니다.

따로 설명해야할 부분은 없어보입니다. 궁금한 사항은 댓글로 남겨주세요



댓글남기기