[백준] 2884번 : 알람 시계 (파이썬)

뚝딱이 공학도·2022년 1월 27일
0

문제풀이_백준

목록 보기
36/159




문제





나의 첫번째 답안

h,m=map(int,input().split())
if m<45 and h>0:
    m+=15
    h-=1
elif m>44:
    m-=45
    h-=1
else:
    m+=15
    h=23
    
print(h,m)

오답 요인: m이 44보다 크다면 시간의 값은 바뀔 필요가 없는데 -1를 해주었다.
(부끄러운.. 답안)

나의 최종 답안

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

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

해당 부분을 수정하였다.

m을 기준으로 생각하면 쉽다.
1. m이 44보다 크다면 시간은 바뀔 필요가 없으므로 45만 빼준다.
2. 45보다 작으면, 시간이 1시간 줄어든다. 분은 60분에서 45를 빼주고 입력받은 m값을 더해주면 45분 앞당긴 시간을 계산할 수 있다.
3. 마지막으로 시간이 0시일 때, 즉 시간이 0이고 m이 45보다 작으면 23시가 되므로 h를 23으로 초기화해준다.

0개의 댓글