문제
코드
select ROUND(SQRT(POW(MIN(lat_n)-MAX(lat_n),2) + POW(MIN(long_w)-MAX(long_w),2)),4)
from station
- p1(a,c), p2(b,d)
- a, b = lat_n(위도)의 최소값, 최댓값 = min(lat_n), max(lat_n)
- c, d = long_w(경도)의 최댓값, 최소값 = min(long_w), max(long_w)
- 유클리드 거리 = 피타고라스 정의 (a-b)^2 + (c-d)^2
- (P1.a - P1.b)^2+ (P2.a - P2.b)^2에서 루트 씌우기
- 먼저 각각 제곱한 값을 구하기 위해 POW() 함수 씌우기
- 그 수를 더한 값의 제곱근 구하기 위해 SQRT() 함수 씌우기
- 소수점 네번째 자리 수까지 반올림하기 위해 ROUND() 처리
출처
반응형
'Algorithm > MySQL' 카테고리의 다른 글
[해커랭크(HackerRank)] Weather Observation Station 3 (MySQL) (0) | 2021.07.12 |
---|---|
[해커랭크(HackerRank)] Weather Observation Station 20 (MySQL) (0) | 2021.07.12 |
[해커랭크(HackerRank)] New Companies (MySQL) (0) | 2021.07.09 |
[해커랭크(HackerRank)] Binary Tree Nodes (MySQL) (0) | 2021.07.08 |
[해커랭크(HackerRank)] Occupations (MySQL) (1) | 2021.07.08 |