1. 문제목적
현재 설정된 알람 시간에서 45분 일찍 알람이 울리도록 시간을 조정하는 문제입니다. 이 문제는 조건문뿐만 아니라 시간에 대한 계산을 어떻게 처리하는지에 대해 이해할 수 있는 좋은 기회를 제공합니다.
2. 필요개념
시간 계산
시간과 분을 다룰 때는 60진법을 사용해야 합니다. 특히, 분에서 어떤 계산을 할 때 60을 넘어가거나 0 미만으로 내려가는 경우를 올바르게 처리해야 합니다.
조건문
이 문제에서는 조건문을 사용하여 45분을 빼는 과정에서 시간이 변경되어야 하는 경우(즉, 분이 0 미만이 될 경우)를 처리합니다.
입력 받기
input() 함수로 시간(H)과 분(M)을 입력받고, int() 함수를 사용하여 정수로 변환합니다.
문제 해결 절차
- 시간(H)과 분(M)을 입력 받습니다.
- 분(M)에서 45를 뺍니다.
- 만약 결과가 0 미만이면, 시간(H)에서 1을 빼고, 분(M)에 60을 더합니다.
- 시간(H)이 0 미만이 되면, 23시로 설정합니다.
- 조정된 시간(H)과 분(M)을 출력합니다.
3. 코드작성
# 시간과 분 입력받기
H, M = map(int, input().split())
# 분에서 45 빼기
M -= 45
# 분이 0 미만이면 시간 조정
if M < 0:
M += 60
H -= 1
if H < 0:
H = 23
# 결과 출력
print(H, M)
이 코드는 주어진 시간에서 45분을 빼는 로직을 구현합니다. 분이 0 미만이 될 경우 시간을 조정하며, 시간이 0 미만이 될 경우 하루의 마지막 시간으로 롤오버하는 로직을 포함합니다. 이 문제를 통해 시간 계산 방법과 조건문을 사용하는 방법을 연습할 수 있습니다.
4. 마무리
진수를 나타내고자 할때 진수만큼 더해주어서 간단히 표현할 수 있다는 것을 알았다.
5. 문제링크
'알고리즘, 자료구조' 카테고리의 다른 글
[백준| 단계별로 풀어보기 3단계 반복문 | Python] 15552번 빠른 A + B (0) | 2024.04.03 |
---|---|
[백준| 단계별로 풀어보기 3단계 반복문 | Python] 25304번 영수증 (0) | 2024.04.03 |
[백준| 단계별로 풀어보기 1단계 | Python] 2588번 곱셈 (0) | 2024.04.01 |
[백준| 단계별로 풀어보기 1단계 | Python] 10430번 나머지 map() (1) | 2024.04.01 |
[백준| 단계별로 풀어보기 1단계 | Python] 1000번 A+B (0) | 2024.03.27 |