[백준] 2525 오븐 시계 Python

Eun-jeong Park·2023년 1월 25일
1

알고리즘

목록 보기
1/7
post-thumbnail

https://www.acmicpc.net/problem/2525

Problem

훈제오리구이를 시작하는 시각과 오븐구이를 하는 데 필요한 시간이 분단위로 주어졌을 때, 오븐구이가 끝나는 시각을 계산하는 프로그램을 작성하시오.

Input

시, 분
소요시간

Output

오븐구이가 종료되는 시간

Code

H, M = map(int, input().split())
running_time = int(input())

if M + running_time >= 60:
    H += (M + running_time) // 60
    M = (M + running_time) % 60 
    if H >= 24:
        H -= 24 
    print(H, M)
else:
    print(H, M + running_time)

Code review

비슷한 문제로 <백준 2884 : 알람시계> 문제가 있다. 그 문제는 시간을 분으로 바꾼 다음에 수학적 계산하는 방식으로 접근했다.
그러나, 이 문제는 수학 계산으로는 접근을 잘 못하겠어서 M에 바로 running_time(소요시간)을 더하는 방식으로 풀었다.

  • M에 소요시간을 더했을 때, 60분 미만이면 그대로 더한 값을 출력하면 되지만
    60분 이상이면, 60분으로 나눠서 몫은 H(시)에 더해주고, 나머지는 분으로 M의 값으로 넣어주면 된다.
  • 만약에 소요시간을 더한 H값이 24가 넘어가면 -24을 해주면 된다.

Takeaway

시는 0~23, 분은 0~59라는 범위 안에서 계산이 되는 시간만이 가진 고유의
수의 체계를 다룰 수 있어서 흥미로웠다.

profile
지구를 사랑하는 개발자

0개의 댓글