상세 컨텐츠

본문 제목

백준 2884 - 알람 시계 (파이썬)

알고리즘/백준 단계별 문제

by 테크투아트 2020. 4. 26. 19:06

본문

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

 

2884번: 알람 시계

문제 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다. 이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다. 바로 "45분 일찍 알람 설정하기"이다. 이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다.

www.acmicpc.net

 

a, b = map(int,input().split())
alarm = (60*a+b)-45
if alarm<0:
    alarm = alarm+24*60
    
print(alarm // 60, alarm%60)

시, 분을 a, b로 받아옵니다.

시에 60을 곱해줘서 분을 계산합니다.

3시 25분이면 3*60 + 25 = 205분이 되는 것이죠.

여기서 45분을 빼고 다시 시, 분으로 나타내주는 겁니다.

 

그런데 여기서 시간이 0시 0분부터 0시 44분이면, 알람 시각의 총 분을 뜻하는 alarm 변수가 음수가 됩니다.

따라서 if문으로 alarm이 음수일 때를 조건으로 걸어주고,

이러한 경우는 24*60분을 더해 양수로 만들어주었습니다.

시간이 24시까지 있으니까요!

관련글 더보기