본문으로 건너뛰기
김신건의 로그

[BOJ] 8989 시계

되게 간단한 실버 문제.

· 📖 약 1분 · 98자/단어 #BOJ #시계 #PS

문제 요약 및 풀이

8989번: 시계

되게 간단한 실버 문제.

  1. 각 시각에 따른 시침, 분침의 각도를 알아낸다.
  2. 사이각을 구한다(이때 각도가 2개다. 따라서 이 중에서 최소를 선택한다.)
  3. 이 사이각에 따라 정렬하고, 답을 도출한다.

풀이 코드

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]) # 결과 출력

💬 댓글

사이트 검색 / 명령어

검색

스크롤 = 확대/축소 · 드래그 = 이동 · 0 = 원래 크기 · ESC = 닫기