티스토리 뷰

반응형
 

2884번: 알람 시계

상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만,

www.acmicpc.net

 

 

풀이

 

45분 일찍 알람을 설정하려면, 시간의 개념을 잘 알아야 한다.

 

하루는 24시간이지만 표기되는 시간은 0부터 23시까지고, 마찬가지로 표기되는 분도 59분까지이다.

 

따라서 출력을 해주려면, 시간은 24이상 일때 0으로 초기화를 해주어야 하고, 분은 60이상일 때 0으로 초기화를 해주어야 한다.

 

정확히는 만약에 분이 45분이 넘어간다면 시간은 그대로지만, 45분이 넘어가지 않았다면 시간은 -1을 해줘야 한다는 것.

그리고 분도 15분을 더해줘야 한다. 왜냐면 주어지는 입력이 60까지이기 때문이다. (30분이 주어졌다면 -45분을 했을 때 전 시간의 45분이 됨)

 

그리고 하나 더 고려해야 할 게 있는데, 바로 0시이다.

 

만약 시간이 0시가 된다면 전날의 23시로 만들어줘야 하므로 23을 더해주면 된다.

 

따라서 대략적인 코드는 다음과 같다.

a,b = map(int,input().split())

if a-1>=0 and b-45<0:
    a=a-1
    print(a,15+b)
elif a-1<0 and b-45<0:
    a=23+a
    print(a,15+b)
else:
    print(a,b-45)

 

반응형