맞습니다. 이 문제는 단순 구현 문제가 아니라, “움직이는 두 물체가 원 위에서 언제 만나는가”를 상대속도로 바꾸는 발상이 핵심이라 처음 보면 떠올리기 어렵습니다. 복습할 때 사고 과정이 다시 이어지도록 정리해보겠습니다.
처음에는 다음과 같이 생각하기 쉽습니다.
매 순간 시침, 분침, 초침의 각도를 계산해서 같은지 확인해야 하나?
하지만 바늘은 정수 초 사이에서도 겹칩니다.
예를 들어:
0시 6분 0.501초
처럼 소수점 시간에 겹칠 수 있으므로, 정수 초마다 각도가 같은지만 확인해서는 풀 수 없습니다.
따라서 생각을 바꿔야 합니다.
두 바늘의 현재 위치를 직접 비교하는 것이 아니라, 빠른 바늘이 느린 바늘을 언제 한 바퀴 따라잡는지 계산한다.
한 바퀴는 360도입니다.
60초에 360도를 움직입니다.
360 ÷ 60 = 초당 6도
60분, 즉 3600초에 360도를 움직입니다.
360 ÷ 3600 = 초당 0.1도