본문 바로가기

Certificate/Cos Pro 1급 (Python)

[Cos Pro 1급] 기출문제 4회차, 분침과 시침의 각도 구하기

Hi, There!
안녕하세요, 바오밥입니다.


목차

  1. 문제
  2. 풀이

문제

문제 내용

hour 시 minute 분에 아날로그 시계의 시침과 분침이 몇 도를 이루는지 계산하려 합니다.

예를 들어, 3시 00분에 시침과 분침은 90˚를 이룹니다.

 

어떤 시점의 시 hour, 분 minute이 매개변수로 주어질 때, hour 시 minute 분에 아날로그 시계의 시침과 분침이 이루는 각도를 소숫점 첫번째 자리까지 표현한 문자열을 return 하도록 solution 함수를 작성해주세요.

 

매개변수 설명

어떤 시점의 시 hour, 분 minute이 solution 함수의 매개변수로 주어집니다.

  • hour는 1 이상 12 이하인 자연수입니다.
  • minute은 0 이상 59 이하인 정수입니다.

 

return 값 설명

hour 시 minute 분에 아날로그 시계의 시침과 분침이 이루는 각도를 소숫점 첫번째 자리까지 표현한 문자열을 return 하세요.

  • 단, 각도는 소수점 이하 첫째 자리까지 표현하세요.

 

예시

예시 설명

앞서 설명한 예와 같습니다.  


풀이

풀이 코드 및 해설

def solution(hour, minute):
	h = (360/12) * hour + (360/12/60) * minute # 시침 표현
	m = (360/60) * minute # 분침 표현 
	answer = abs(h-m) # 시침과 분침을 뺌 => 각도 구하기
	if answer > 180: # 시침과 분침의 각도 차이가 둔각인 경우
		answer = 360 - answer # 360도에서 둔각을 빼줌
	return "{:.1f}".format(answer) # 1자리 수 부동소수점 형으로 반환