-
12840. 창용이의 시계Algorithm/Baekjoon 2023. 2. 5. 03:49
지금은 이렇게 푼 문제를 대강 올리지만, 나중에는 정리할 만한 문제들만 정성스럽게 올릴까 생각 중에 있음.
이 문제의 핵심은 시,분,초로 표현되어 있는 시간을 모두 초단위로 바꾸는 것이다. 그래야 문제를 훨씬 쉽게 풀어낼 수 있다.
import sys input = sys.stdin.readline MIN = 60 HOUR = MIN*60 DAY = HOUR*24 h, m ,s = map(int, input().split()) time = h*HOUR + m*MIN + s def time_print(time) : h = time//HOUR time %= HOUR m = time//MIN time %= MIN print(h, m, time) def time_coordi(seconds) : global time time += seconds time = time%DAY num = int(input()) for _ in range(num) : query = list(map(int, input().split())) if query[0]==1: time_coordi(query[1]) elif query[0] == 2 : time_coordi(-query[1]) elif query[0]==3: time_print(time)
이 문제를 풀 때 주의해야 하는 점은, 시계이기 때문에 날짜가 바뀐다거나 time에 seconds를 뺐을 때 음수가 나온다거나 하는 경우를 처리해주어야 한다. 모듈러 연산을 사용하면 된다.
'Algorithm > Baekjoon' 카테고리의 다른 글
2002. 추월 (0) 2023.02.05 1946. 신입사원 (0) 2023.02.05 10804. 카드 역배치 (0) 2023.02.05 10825. 국영수 (0) 2023.02.05 2751. 수 정렬하기 2 (0) 2023.02.05