문제 해석
- 입력값에 불필요한 0은 사용하지 않고
- 공백으로 시간과 분을 구분한다.
- 분에다 45분을 뺴 음수가 나오면 시간에 -1를 해준다.
- 만약 시간이 0시이고 분에 45분을 뺀 수가 음수이면 시간은 23시이다.
- 그 외는 분에 45분을 빼고 시와 분을 출력하면 된다.
solution 1 - 실패
import sys
hour, min = map(int, sys.stdin.readline().strip().split(' '))
min_45ago = min - 45
if hour == 0 :
print(f'23 {60 + min_45ago}')
elif min_45ago < 0:
print(f'{hour - 1} {60 + min_45ago}')
else :
print(f'{hour} {min_45ago}')
- 실패 원인
- 0시 45분일때 23시 60분이 출력됨.
- 분에서 45분전이 0분일때를 고려하지 못했다.
solution 2 - 성공
import sys
hour, min = map(int, sys.stdin.readline().strip().split(' '))
min_45ago = min - 45
if min_45ago == 0: # 45분을 뺀 수가 0분이면
print(f'{hour} 0') # 시간과 0분을 출력한다.
elif min_45ago < 0: # 기준 분에 45분을 뺀 수가 음수일떼
if hour == 0 : # 시간이 0시이면
print(f'23 {60 + min_45ago}') # 시는 23시가 되고 음수인 수에 60분을 더해준다.
else:
print(f'{hour - 1} {60 + min_45ago}') # 그 외는 시간에 -1을 해주고 음수인 수에 60분으 더해준다.
else :
print(f'{hour} {min_45ago}')
'algorithm > 백준' 카테고리의 다른 글
[PYTHON] 2480 주사위 세개 (0) | 2023.01.11 |
---|---|
[PYTHON] 2525 오븐시계 (0) | 2023.01.11 |
[PYTHON] 14681 사분면 고르기 (0) | 2023.01.11 |
[PYTHON] 2753 윤년 (0) | 2023.01.11 |
[PYTHON] 9498 시험 성적 (0) | 2023.01.11 |
댓글