SMALL

1. 문제링크
2884번: 알람 시계
상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만,
www.acmicpc.net
2. 문제이해
주어진 수가 있으면 45분 전으로 돌려주기만 하면 된다. 다만 24시간 표현 + 시간 계산이므로 이에 맞는 연산 코드를 작성해주어야 한다. 하루의 시작은 0:0이고 끝은 23:59라는 것을 명심한다.
3. 문제 풀이
우선 시간과 분을 입력받는다. 아래와 같은 방법으로 공백을 기준으로 두 가지 int 자료형으로 입력 값을 받을 수 있다.
hour, min = map(int, input().split())
그 뒤에 분이 45분을 넘지 않으면 그냥 분에서 45분을 빼주면 되고, 분이 45분이 안되어 시간에서 1시간 빌려와야 하는 경우를 보자, 이 경우는 시간이 0이 아니면 모두 빌려올 수 있기 때문에 시간이 0보다 큰 경우 시간과 분+15분을 출력한다. 시간이 0이고, 분이 45분이 넘지 않는 경우에는 시간은 23시가 되고, 분+15분이 된다.
if min >= 45:
print(hour, min-45)
elif hour > 0 and min < 45:
print(hour - 1, min + 15)
else:
print(23, min + 15)
4. 총평
사실 45분을 일찍 맞춘다고해도 매일 아침 더 잤다는 기분을 느끼기는 커녕 오히려 알람 빠르게 끄는 습관만 는다.
LIST
'BOJ' 카테고리의 다른 글
백준 9012번 괄호 자바 풀이 (0) | 2022.01.19 |
---|---|
BOJ 17608번 막대기 (0) | 2022.01.13 |
BOJ 1110번 더하기 사이클 파이썬 (0) | 2022.01.12 |
BOJ 1157 단어공부 파이썬 (0) | 2022.01.12 |
BOJ 11399번 ATM (0) | 2022.01.01 |