KEEP GOING

[python] 백준 2884번 : 알람 시계 본문

code review

[python] 백준 2884번 : 알람 시계

jmHan 2022. 4. 25. 13:58
반응형

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

 

2884번: 알람 시계

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

www.acmicpc.net

[수학]

우선 m이 45보다 클 경우, 45를 빼주기만 하면 되기에 if else 문으로 나눈다.

m이 45보다 작을 경우, h가 0인 경우 23시로 처리하고 m은 45를 빼고나서 60을 더해준다.

                                  h가 0보다 큰 경우 (1~23) h는 1만 빼주고  m은 45를 빼고나서 60을 더해준다.

h, m = map(int, input().split())
if m - 45 < 0:
    if h == 0:
        h, m = 23, 60+(m-45)
    else:
        h, m = h-1, 60+(m-45)
else:
    m -= 45
print(h, m)

 

[숏코딩]

print 문에서 m<45가 참이면 1을 반환함

h, m = map(int, input().split())
print((h-(m<45))%24, (m-45)%60)

 

[0시 30분인 경우]

30<45는 True이기에  h = (0 -1)%24 = -1%24 = 23, m = (30-45)%60 = -15%60 = 45 

# 23 45

 

[10시 10분인 경우]

10<45는 True이므로 h = (10-1)%24 = 9, m = (10-45)%60 = -35%60 = 25

# 9 25

반응형
Comments