알람 맞출시간과 분을 입력받아서 그 시간보다 45분 전의 시간에 알람을 맞추는 문제이다.
키보드로 입력받아서 45분만 계산해주는 간단한 문제일것 같았지만 생각보다 복잡했다.
0을 입력한 경우에는 24시간제로 계산해서 풀어주어야했다.
그래서 첫번째로 생각한 코드는 시간과 분을 입력받아 시간에 60을 곱해주어서 45를 빼고나서 60으로 나눈 몫을 시간으로 나머지를 분으로 출력해주는 방식으로 구현해 보았는데 입출력 값 그래도 나와서 백준에 제출했는데 틀렸다고 나왔다....ㅠㅠ
hour, minute = map(int,input().split())
if 0 <= hour <= 23 and 0 <= minute <= 59:
if hour == 0:
hour = hour + 24
time = (hour * 60) + minute
time = time - 45
result_hour = time // 60
result_minute = time % 60
print(result_hour, result_minute)
if문을 사용하는 문제라 그런가 한번밖에 안써서 그런가 왜 틀린진 잘 모르겠다...
그래서 두번째로 생각한 방법은 분이 45분이 넘으면 그냥 45만 빼서 시간 분을 출력해주고
45분 이하이면 시간-1, 분+15 를 계산해서 출력해주고
만약 시간이 0이면 23, 분+15로 출력해주는 방식으로 구현했더니 맞았다고한다... 이 방법이 더 어려운거같은데 조건문을 여러번 사용해서 그런가 맞다고한다.
hour, minute = map(int,input().split())
if minute >= 45:
print(hour, minute-45)
elif hour > 0 and minute < 45:
print(hour-1, minute + 15)
else:
print(23, minute + 15)
'백준 문제풀이' 카테고리의 다른 글
[백준 1001번 문제] : A-B (0) | 2022.01.10 |
---|---|
[백준 1000번 문제] : A+B (0) | 2022.01.10 |
[백준 14681번 문제] 사분면 고르기 문제 (0) | 2022.01.07 |
[백준 2753번 문제] : 윤년 구하기 (0) | 2022.01.06 |
[백준 2588번 문제] 곱셈구하기 (0) | 2022.01.05 |