본문 바로가기
코딩 테스트/백준

[백준 2525번] 오븐 시계 (python)

by SH_L 2023. 8. 13.
반응형

[문제]

 

 

 

 

[코드]

 

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

result = M + T

if result >= 60:
    H += int(result/60)
    M = result%60

    if H >= 24:
        H -= 24
        
    print(H, M)

else:
    print(H, result)

 

 

 

[풀이]

 

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

 

map(int, input().split())와 int(input())을 사용하여 입력받은 값을 변수 H, M, T에 차례대로 저장한다.

 

result = M + T

 

현재 시간 H, M에 요리하는 데 필요한 시간 T를 더해 요리가 종료되는 시간을 출력해야 한다. 계산 진행을 위해 현재 시간 M에 요리하는 데 필요한 시간 T를 더한 값을 변수 result에 저장한다.

 

result가 60보다 크거나 같을 때와 60보다 작을 때의 두 가지 경우로 나눠 시간 계산을 진행한다.

 

if result >= 60:
    H += int(result/60)
    M = result%60

    if H >= 24:
        H -= 24
        
    print(H, M)

 

result가 60보다 크거나 같을 경우 H에다 result를 60으로 나눈 몫을 더해주고, M에다 result를 60으로 나눈 나머지를 더해준다.

 

예를 들어 H, M, T가 각각 17, 40, 80일 경우 result의 값은 120이 된다. H에는 result를 60으로 나눈 몫인 2가 더해지고, M에는 result를 60으로 나눈 나머지인 0이 더해져 최종적으로 19, 0이 요리가 종료되는 시간이 되는 것이다.

 

이때, 23시 59분에서 1분이 지나면 0시 0분이 된다는 조건이 포함되어 있기 때문에 H의 값이 24보다 크거나 같을 경우 24를 빼준다.

 

else:
    print(H, result)

 

result가 60보다 작을 경우 result를 그대로 출력하면 된다.

반응형