본문 바로가기

Python(알고리즘,문제풀이)/BOJ(Bronze II)

백준 / 1408번 / 24 / Python / 수학,구현,사칙연산

728x90

📚문제

출처 : 백준 1408번(https://www.acmicpc.net/problem/1408)


📝풀이

# 1408번 24(BronzeII)
h1,m1,s1 = list(map(int,input().split(':')))
h2,m2,s2 = list(map(int,input().split(':')))

# 임무 시작 시각 - 현재 시각
total = (h2*3600 + m2*60 + s2) - (h1*3600 + m1*60 + s1)

# 현재 시각이 임무 시각보다 뒤에 있다면 24시간 더해주기
if total < 0:
    total += 3600*24
    
total
x,y,z = (total // 3600) , (total % 3600) // 60 , (total % 60)
print('%02d:%02d:%02d' % (x,y,z))

 

늘 헷갈리는 시계열 문제...

두 시각의 차이를 구하는 문제는 보통

전부 초로 변환 후 시간 차이를 구한 뒤 

각각의 시간,분,초를 구하는 방법이 가장 많이 쓰이는 것 같다

 

그리고 정답 출력에 사용된

"%02d"

는 파이썬의 출력형식 중 하나라고 하며 시계열 문제에서 자주 사용 된다고 한다

"정수d (여기선 x,y,z)를 두자리까지 표시하며 한자리일 경우 제일 앞칸은 0으로 채워준다"

 

참고링크 출처 : https://bohemihan.tistory.com/entry/python-d-01d-02d-s-f

728x90