📃백준 2884
⏰ 알람시계
조건문, 수학
https://www.acmicpc.net/problem/2884
🔷 submission code
## 백준
## 알람시계
## 조건문, 수학, 사칙연산
import sys
'''
45분 일찍 알람 성정하기
input H M (0 ≤ H ≤ 23, 0 ≤ M ≤ 59)
##! input 0 30 => 23 45
##* input 10 10 => 9 25
'''
def alram45(hour, minute):
if hour != 0:
if minute < 45:
hour -= 1
temp = 45 - minute
minute = 60 - temp
else:
minute -= 45
else:
if minute < 45:
hour = 23
temp = 45 - minute
minute = 60 - temp
else:
minute -= 45
print(hour, minute)
if __name__ == '__main__' :
H, M = map(int, sys.stdin.readline().split())
alram45(H,M)
백준 2884번 문제는 아침에 늦잠을 자서 지각하는 상근이가 알람시계를 45분 일찍 맞추는데 몇 시로 시간을 맞춰야 할지 알려주는 문제이다. 문제에서는 하루 시간을 0 ~ 24시로 간주하고 있다. 그래서 주의할 점으로 0시에서 45분이 감소될 경우 시간이 23시로 변경이 되어야 한다. 이를 조건문을 통해서 시간이 0이 아닌 경우와 0인 경우로 나눠서 처리를 해준다. 그리고 분에 대한 것도 핸들링할 때 45 미만인 경우 시간이 1 감소시키고 minute도 아까 시간이 0인 경우처럼 추가로 핸들링해주어야 한다. 이러한 주의점을 고려하고 코드를 짜면 쉽게 작성할 수 있는 문제이다. 요즘 나도 아침에 바로 일어나지 못하는데, 매일 아침 더 잤다는 기분을 느낄 수 있다는 장점??🤔이 있다고 하니 위의 작성한 코드를 유용하게 사용해봐야겠다.
🧐🧾 🤔💬
🔶 런타임 에러
import sys
def alram45(hour, minute):
if hour != 0:
if minute < 45:
hour -= 1
temp = 45 - minute
minute = 60 - temp
else:
minute -= 45
else:
if minute < 45:
hour = 23
temp = 45 - minute
minute = 60 - temp
else:
minute -= 45
return hour, minute
##! 런타임 에러 뜸
if __name__ == '__main__' :
H, M = map(int, sys.stdin.readline().split())
setHour, setMinute = alram45(H, M)
print(setHour, setMinute)
처음에 제출한 코드는 런타임 에러가 났다. 제출한 코드와의 차이점으로 alarm45함수에서 리턴을 받아서 main에서 print를 해주는 차이점이 있다. 이러한 경우 런타임 에러가 났는데 alarm45 함수 내에서 바로 출력을 해주고 main에서는 그대로 함수만 호출해주는 방식으로 바꿔주니 문제를 통과할 수 있었다.
⏰4️⃣5️⃣🕘
소스코드링크 : https://github.com/KwanHoo/Data-Structure__Algorithm/blob/main/Python/baekjoon/bronze/baek_2884.py
GitHub - KwanHoo/Data-Structure__Algorithm: Data structures and algorithms practice code, Backjoon submission code
Data structures and algorithms practice code, Backjoon submission code - GitHub - KwanHoo/Data-Structure__Algorithm: Data structures and algorithms practice code, Backjoon submission code
github.com
포스팅이 도움이 되셨다면 공감 과 구독 눌러주세요 💚
'Baekjoon > python' 카테고리의 다른 글
[백준 2753] 윤년 _ python 풀이 (0) | 2022.04.17 |
---|---|
[백준 9498] 시험성적 _ python 풀이 (0) | 2022.04.17 |
[백준 12852] 1로 만들기 2 _ python 풀이 (0) | 2022.04.15 |
[백준 2011번] 암호코드 _ (DP) python 풀이 (0) | 2022.04.15 |
[백준 2480번] 주사위 세개 _ (조건문) python 풀이 (0) | 2022.04.13 |