nan + nan = 2nan

[백준] [Python3] #2884. 알람 시계 본문

Python/백준 알고리즘

[백준] [Python3] #2884. 알람 시계

2nan 2021. 8. 3. 18:15
728x90


코드 입력

h, m = map(int, input().split())

if m > 44:
    print(h, m - 45)
elif h > 0 and m < 45:
    print(h - 1, m + 15)
else:
    print(23, m + 15)

머리로는 로직이 만들어지는데, 이것을 바로 구현하기에는 쉽지 않았던 문제이다.

예를 들어, 7 : 45의 경우 7 : 00 으로 만들면 된다

하지만, 7 : 30 의 경우 6 : 45로 만들어야 하는데 시와 분 간의 관계를 정립해야 한다.

또한, 0 : 30일 경우 23 : 45로 만들 수 있는 로직이 필요했다.

처음 코드를 구성했을 때는 나머지는 같지만 분을 만들 때 ' 60 - (45 - m) ' 이런 식으로 어렵게 만들었다.

대부분의 결과 값이 출력되었지만, 오류가 나는 부분도 있었다. 그래서 단순히 따져 보았을 때, 

 

분에 15를 더해준다면, 모든 로직이 완성이 되었다. 단, 분이 45분 이상일 경우에는 0 이상이기 때문에

조건을 따로 설정을 해주고, 0시에서 23시가 될 때도 로직을 따로 설정해주었다.


출처 : 백준 Online Judge

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

 

2884번: 알람 시계

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

www.acmicpc.net

 

Comments