코딩테스트/백준
백준 [2884] - 알람 시계
문제
작성한 코드
h, m = map(int, input().split())
if m-44 > 0:
m -= 45
print(h, m)
elif h > 0 and m-45 < 0:
h -= 1
m = (m+60)-45
print(h, m)
else:
h = (h+24)-1
m = (m+60)-45
print(h, m)
- input()을 통해 문자를 입력받는다.
- split()을 통해 h와 m을 공백으로 구분한다.
- map()을 통해 input().split()을 int형으로 형변환하여 h와 m에 저장한다.
- if~elif~else문을 사용하여 조건별로 나눈다.
- 45분 전에 알람을 맞추기 위해서는, 분에서 45를 빼줘야 한다.
- 단순히 xx시 45분 이상이면 45도 포함이기 때문에 44를 빼주고, h에는 변화가 없고, m에서만 45를 빼주면 된다.
- xx시 44분 이하이면, h는 1이 줄고, m에는 60을 더해준 후 45를 빼주면 된다. (1시간 = 60분)
- 0시 44분 이하이라면, h는 24를 더해준 후 1을 빼주면 되고, m에는 60을 더해준 후 45를 빼주면 된다. (하루 24시간, 1시간 = 60분)
cf.) 다른 사람들은 더 짧게 코드를 작성함.
h,m = map(int(),input().split())
if m > 44:
print(h, m-45)
elif m < 45 and h > 0:
print(h-1, m+15)
else:
print(23, m+15)
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
백준 [2480] - 주사위 세개 (0) | 2022.07.25 |
---|---|
백준 [2525] - 오븐 시계 (0) | 2022.07.25 |
백준 [14681] 사분면 고르기 (0) | 2022.07.23 |
백준 [9498] - 시험 성적 (0) | 2022.07.23 |
백준 [1330] - 두 수 비교하기 (0) | 2022.07.22 |
댓글