PS

[백준/Python] (B4) 시계탑 - 31561

MSHUN 2024. 3. 12.
반응형

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배 속도로 계산한다.

🤔느낀 점

이 문제를 통해 조건에 따라 다른 계산 방식을 적용하는 문제 해결 능력을 키울 수 있었다.

Baekjoon Online Judge

반응형

댓글