ABOUT ME

Today
-
Yesterday
-
Total
-
  • 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

    댓글

Designed by nanometre380.