hyei-devlog

[Python/파이썬] 백준 2575 오븐 시계 본문

Online Judge/Baekjoon

[Python/파이썬] 백준 2575 오븐 시계

winter126 2025. 2. 1. 23:36

📍 문제

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

백준 2575 오븐 시계

 

📍 전체 코드

h, m = map(int, input().split())
cook_m = int(input())

h += cook_m // 60
m += cook_m % 60

if m >= 60:
    h += 1
    m -= 60

if h >= 24:
    h -= 24

print(h, m)

 

📍 문제 풀이

주어진 시간 (h, m)에 추가로 주어진 분(cook_m)을 더한 후, 24시간제에 맞게 조정하는 문제이다.
 
1. 시간과 분을 더하기

cook_m // 60 # → 추가할 시간 계산
cook_m % 60 # → 추가할 분 계산

 
2. 분(m)이 60 이상이면 시(h) 증가시키기

if m >= 60: # m >= 60이면 h +1, m - 60
    h += 1
    m -= 60

 
3. 24시간제 보정 (h가 24 이상이면 0부터 다시 시작)

if h >= 24:
    h -= 24

 

📍 문제 해결을 위한 고민

추가 시간을 더한 후, 총 분이 60을 초과하는 경우와 최종 시간이 24를 넘는 경우를 if문을 사용해 조정했다.
 
하지만, 코드를 간결하게 다듬을 수 있다.
cook_m을 분 단위로 계산하여 한 번에 처리하면, 시간과 분을 계산한 후 바로 결과를 출력할 수 있다.

h, m = map(int, input().split())
cook_m = int(input())

m += cook_m
h += m // 60
m %= 60
h %= 24

print(h, m)

 
여러 번의 if문 대신, //(나누기)와 %(나머지) 연산자를 활용해 계산을 간결하게 처리할 수 있다.

 

⭐️ 중요 포인트

  • 분 계산: 시간과 분을 더할 때, 분이 60 이상이 될 경우, 그 초과분을 시간으로 변환해야 한다.
    • m %= 60: m이 60 이상이 될 경우, 60으로 나눈 나머지를 m에 저장합니다.
  • 시간 계산: 최종 시간이 24를 넘으면 0부터 다시 시작해야 한다.
    • h %= 24: h가 24 이상일 경우, 24로 나눈 나머지를 h에 저장해 24시간 형식에 맞게 처리한다.