[BOJ / Python] 2884. 알람 시계

쿠후·2022년 5월 25일
0

조건문

목록 보기
5/5

문제

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

코드

H, M = map(int, input().split())
a = M - 45
if a < 0 and H > 0:
    print(f'{H-1} {15+M}')
elif a < 0 and H == 0:
    print(f'23 {15+M}')
elif a >= 0 and H >= 0:
    print(f'{H} {a}')

    

설명

경우의 수를 주어진 M(분) - 45분을 했을 때 음수인지 음수가 아닌지를 먼저 생각해보자.

1) M-45가 음수일 때

예를 들어 10시 15분이 주어져있다. 45분 일찍 알람을 맞추면 9시 30분인데, M만 따져보자면

15-45 = -30 이므로 음수다. 하지만 시간을 계산 할때는 H(시간)을 하나 내리고, 60분 - 45분 + M

즉 15분+M을 해주면 된다.

하지만 H가 0이면 24시를 뜻하고 시간을 1 내리면 23시가 되어야 하기 떄문에 H가 0일 경우엔

H가 고정적으로 23이 되게 작성한다.

2) M-45가 양수일 때

M-45가 양수라면 시간은 바뀌지 않고 분만 바뀌면 되므로 H는 그대로, M은 M-45로 작성해준다.

케이스를 분류를 잘 하면 어렵지 않은 문제였다.

profile
아직 초짜 개발자인 군인

0개의 댓글