반응형
Baekjoon Online Judge의 31561번 시계탑 문제의 Python 풀이입니다.
31561번: 시계탑
올바른 시각의 분을 나타내는 실수를 정확하게 출력한다. 이때 값은 소수점 첫째 자리까지 출력해야 하며, 항상 답을 정확하게 출력할 수 있음을 증명할 수 있다.
www.acmicpc.net
💻코드
# 사용자로부터 분침이 가리키는 분을 입력받음
input_minute = int(input())
# 올바른 시각의 분을 저장할 변수 초기화
correct_minute = 0
# 입력된 분이 30보다 크거나 같은 경우 (즉, 분침이 6시 방향을 넘어선 경우)
if input_minute >= 30:
# 15분을 추가하여 정상적인 속도로 움직인 15분을 계산
correct_minute += 15
# 입력된 분에서 30을 뺀 나머지 분을 계산하여 이를 2/3배 속도로 움직인 시간을 계산
input_minute -= 30
correct_minute += input_minute * 1.5
# 입력된 분이 30보다 작은 경우 (즉, 분침이 6시 방향 이전인 경우)
else:
# 입력된 분을 2배 속도로 움직인 시간으로 계산
correct_minute = input_minute / 2
# 계산된 올바른 시각의 분을 출력
print(correct_minute)
🧠풀이
이 문제는 시계탑의 분침이 일정한 규칙에 따라 이동하는 상황에서 실제 시각의 분을 구하는 것이다. 분침이 처음 15분 동안은 2배 속도로, 이후 45분 동안은 2/3배 속도로 움직인다. 입력받은 분침의 위치에 따라 실제 시간을 다르게 계산해야 한다. 30분 이상인 경우에는 15분을 기본으로 더하고, 나머지 시간을 2/3배 속도로 계산한다. 30분 미만인 경우에는 입력받은 시간을 2배 속도로 계산한다.
🤔느낀 점
이 문제를 통해 조건에 따라 다른 계산 방식을 적용하는 문제 해결 능력을 키울 수 있었다.
반응형
댓글