728x90
반응형
안녕하세요. 지난 포스팅의 BOJ 14681번 : 사분면 고르기에서는 복잡한 조건문을 가진 문제를 풀어보았습니다. 오늘은 조금 더 생각을 해보아야하는 문제를 풀어보도록 하죠.
핵심 포인트
- 조건문
문제를 보면 입력된 두 개의 시간(H)와 분(M)에서 45분을 뺀 시간을 시, 분의 형태로 출력해야합니다. 여기서 저희는 첫번째로 2가지 조건을 고려해볼 수 있겠죠. 현재 시간에서 45분을 뺐을 때 양수가 나오는 경우, 음수가 나오는 경우입니다. 여기서 음수가 나오는 경우에는 현재 시간(H)에서 1을 빼고 60분을 더해준 뒤 45분을 빼는 것이기 때문에 결과적으로 15분을 더하게 됩니다. 그런데 한가지 문제가 더 있습니다. 만약, 시간에서 1을 뺏는데 음수가 나오면 어떡하죠? 이 경우에는 현재 시각이 0시라는 것이기 때문에 23시로 바꾸어 출력해주면 됩니다. 이를 정리하면 아래와 같죠.
if 현재 분 - 45 >= 0 :
print(현재 시, 현재 분 - 45)
else :
if 현재 시 - 1 >= 0 :
print(현재 시 - 1, 현재 분 + 15)
else :
print(23, 현재 분 + 15)
이를 이제 코드로 작성하면 됩니다.
H, M = map(int, input().split())
if M - 45 >= 0 :
print(H, M - 45)
else :
if H - 1 >= 0 :
print(H - 1, M + 15)
else :
print(23, M + 15)
참고자료 및 그림출처
728x90
반응형
'Programming > Coding Problem' 카테고리의 다른 글
BOJ 2480번 : 주사위 세개 (0) | 2022.06.01 |
---|---|
BOJ 2525번 : 오븐 시계 (0) | 2022.06.01 |
BOJ 14681번 : 사분면 고르기 (0) | 2022.06.01 |
BOJ 2753번 : 윤년 (0) | 2022.05.31 |
BOJ 9498번 : 시험 성적 (0) | 2022.05.31 |