문제 요약 및 풀이
되게 간단한 실버 문제.
- 각 시각에 따른 시침, 분침의 각도를 알아낸다.
- 사이각을 구한다(이때 각도가 2개다. 따라서 이 중에서 최소를 선택한다.)
- 이 사이각에 따라 정렬하고, 답을 도출한다.
풀이 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
for i in range(int(input())):
L = input().split() # 입력
D = [] # 정렬을 위한 리스트
for t in L:
h,m = map(int, t.split(':')) # h: 시간, m: 분
a = ((h % 12) * 30 + m / 2) % 360 # 시침의 각도
b = m * 6 # 분침의 각도
deg = max(a,b) - min(a,b) # 시침과 분침의 각도
D.append([min(deg, 360-deg), i]) # 360 - deg 는 반대각
# 사이각이 같으면 시간이 빠른 순으로 정렬해야 하기 때문에, (각도, 시각) 순으로 아이템을 만든다.
D.sort() # 정렬한다.
print(D[2][1]) # 결과 출력
끝