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