BOJ

백준 2884번 알람시계 파이썬

이도울 2022. 1. 13. 19:37
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