반응형
문제설명
hour 시 minute 분에 아날로그 시계의 시침과 분침이 몇 도를 이루는지 계산하려 합니다. 예를 들어, 3시 00분에 시침과 분침은 90˚를 이룹니다.
어떤 시점의 시 hour, 분 minute이 매개변수로 주어질 때, hour 시 minute 분에 아날로그 시계의 시침과 분침이 이루는 각도를 소숫점 첫번째 자리까지 표현한 문자열을 return 하도록 solution 함수를 작성해주세요.
매개변수 설명
어떤 시점의 시 hour, 분 minute이 solution 함수의 매개변수로 주어집니다.
* hour는 1 이상 12 이하인 자연수입니다.
* minute은 0 이상 59 이하인 정수입니다.
return 값 설명
hour 시 minute 분에 아날로그 시계의 시침과 분침이 이루는 각도를 소숫점 첫번째 자리까지 표현한 문자열을 return 하세요.
* 단, 각도는 __소수점 이하 첫째 자리까지__ 표현하세요.
예시
| hour | minute | return |
|---|---|---|
| 3 | 0 | "90.0" |
예시 설명
앞서 설명한 예와 같습니다.
문제 코드
def solution(card, n):
# 여기에 코드를 작성해주세요.
answer = 0
return answer
풀이 1
def solution(hour, minute):
# 12시를 기준으로 분침과 시침의 각도 구하기
degree_hour = 30*hour+0.5*minute
degree_minute = 6*minute
# 분침과 시침 사이의 각도 구하기
if degree_hour >= degree_minute:
answer = degree_hour - degree_minute
else:
answer = degree_minute - degree_hour
return "{:.1f}".format(answer)
풀이 2
def solution(hour, minute):
# 12시를 기준으로 분침과 시침의 각도 구하기
hour_pos = float(hour) * 30.0 + float(minute) * 0.5
minute_pos = float(minute) * 6.0
# 분침과 시침 사이의 각도 구하기
answer = abs(hour_pos - minute_pos)
if answer > float(360) - answer :
answer = float(360) - answer
return "{:.1f}".format(answer)
댓글