Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 자료구조
- 백준 10814
- collections
- 제주ICT
- 큐
- 이터레이터
- 더오름
- 백준25305
- 백준1284
- 백준1312
- 백준1247
- 백준
- 위니브
- 백준10757
- 코테준비
- 백준2587
- 백준2525
- 컴프리헨션
- 코테
- 왈러스 연산자
- javascript
- 제주코딩베이스캠프
- 코딩테스트
- 백준10039
- 개발자
- 파이썬
- Python
- F-string
- 백준1181
- 백준2751
Archives
- Today
- Total
hyei-devlog
[Python/파이썬] 백준 2575 오븐 시계 본문
📍 문제
https://www.acmicpc.net/problem/2525
📍 전체 코드
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시간 형식에 맞게 처리한다.
'Online Judge > Baekjoon' 카테고리의 다른 글
[Python/파이썬] 백준 10814 나이순 정렬 (0) | 2025.02.02 |
---|---|
[Python/파이썬] 백준 2587 대표값2 (0) | 2025.02.02 |
[Python/파이썬] 백준 25305 커트라인 (0) | 2025.02.01 |
[Python/파이썬] 백준 1181 단어 정렬 (0) | 2025.01.29 |
[Python/파이썬] 백준 1284 집 주소 (0) | 2025.01.27 |