백준 알고리즘

백준 2884 파이썬

KokoaJelly 2023. 1. 21. 19:11

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

 

2884번: 알람 시계

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

www.acmicpc.net

 

이 문제도 경우의 수만 생각해보면 쉬운 문제다. 

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

if b >= 45:
    print(a, (b-45))

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

 

이 문제에는 3가지의 경우의 수가 있다. 

알람을 설정한 분이 45분을 넘어 그냥 분에 45분을 빼면 되는 경우, 설정한 분이 45분을 넘지 않아 시간을 당겨 와야 하는 경우, 당겨오는 시간이 0시 인경우. 

이 경우의 수를 모두 고려했을때, 위와 같은 코드를 쉽게 짤 수 있다.