100세까지 코딩
[백준] 2884번 알람 시계 (파이썬) 본문
문제
나의 생각
- M을 기준으로 M이 45 이상인지 미만인지에 따라 분기점이 나뉜다.
- M이 45 미만이면 H - 1을 해주고 M + 60 - 45를 해준다.
- M이 45이상이면 H, M - 45를 해준다.
- 대신 H가 0이면 그 전날인 23시로 가야 된다.
나의 풀이
H, M = map(int, input().split())
if H == 0:
if M < 45:
H = 23
M = M + 15
else:
M = M - 45
else:
if M < 45:
H = H - 1
M = M + 15
else:
M = M - 45
print(H, M)
나의 풀이2 (간략화)
H, M = map(int, input().split())
if M < 45:
if H > 0:
print(H - 1, M + 15)
else:
print(H + 23, M + 15)
else:
print(H, M-45)
둘 다 통과는 되지만 공통된 부분을 찾아 간략화를 하면 가독성이 올라간다.
'코딩테스트 > 파이썬' 카테고리의 다른 글
[백준] 2480번 주사위 세개 (파이썬) (0) | 2024.01.06 |
---|---|
[백준] 2525번 오븐 시계 (파이썬) (0) | 2024.01.05 |
[백준] 9498번 시험 성적 (파이썬) (0) | 2024.01.05 |
[백준] 10171번 고양이 (파이썬) (0) | 2024.01.05 |
[백준] 2588번 곱셈 (파이썬) (0) | 2024.01.05 |