백준 2884번 파이썬

iillyy·2021년 3월 8일
0

알고리즘

목록 보기
2/13
post-thumbnail

이 문제는 3번째로 푼 알고리즘 문제였는데
벨로그를 작성하기 위해 다시 푸니까 훨씬 쉽게 느껴지네요!

늦잠을 자지 않기 위해 시계를 45분 일찍 맞추는 문제.

생각의 흐름:
현재 시간에서 45분을 뺀다
현재 시간이 45분 보다 빠르다면 한 시간을 줄이고 15분을 더한다
시간이 0시일 때 45분보다 빠르면 시간은 23시 분은 15분을 더한다


hour, min = map(int,input().split())

if min >= 45:
    print(hour, min-45)
elif min < 45:
    print(hour-1, min+15)
elif hour==0 and min<45:
    print(23, min+15)

처음에는 이렇게 적었었는데 이러면 마지막 조건으로 가기 전에 걸러져서
-1시간이 나오게 된다

그래서

hour, min = map(int,input().split())

hour, min = map(int,input().split())

if min >= 45:
    print(hour, min-45)
elif hour>0 and min < 45:
    print(hour-1, min+15)
else:
    print(23, min+15)

시간이 0이 아닐 경우로 제한을 두었을 때 0시가 제대로 나왔다.

0개의 댓글