코딩 테스트/MySQL

[HackerRank] Weather Observation Station 19

알밤바 2025. 8. 20. 10:19
728x90
반응형
 

Weather Observation Station 19 | HackerRank

Query the Euclidean Distance between two points and round to 4 decimal digits.

www.hackerrank.com


문제

 

 

문제 접근 방식

이전에 풀었던 맨해튼 거리 구하는 문제와 유사한 문제로, 함수를 잘 적용하면 쉽다.

이번에는 유클리디안 거리 (Euclidean distance) 공식을 알고 있어야 하는데, 관련 링크가 문제에 걸려 있으므로 참고하면 된다.

 

유클리디안 거리

https://en.wikipedia.org/wiki/Euclidean_distance

 

Euclidean distance - Wikipedia

From Wikipedia, the free encyclopedia Length of a line segment Using the Pythagorean theorem to compute two-dimensional Euclidean distance In mathematics, the Euclidean distance between two points in Euclidean space is the length of the line segment betwee

en.wikipedia.org

 

유클라디안 거리를 구하는 공식은 위와 같다. 

제곱 함수, 제곱근 함수, 소숫점 표시 함수를 활용하면 된다.

 

 

문제를 보면, p1(a, c) p2(b, d)이고 각각 a, b, c, d는 아래의 값을 의미한다.

a : 북위 (lat_n)의 최솟값

b : 북위 (lat_n)의 최댓값

c : 서경 (long_w)의 최솟값

d : 서경 (long_w)의 최댓값

 

 

1) (a-b) ² + (c-d) ² 식을 계산할 때, 제곱 함수 POWER(n, m)을 활용하면 된다.

2) 1에서 구한 값의 제곱근을 구해야 하므로, 제곱근 함수 SQRT(n)을 활용한다

3) 마지막으로 소숫점 4자리까지 표현을 해야 한다. (반올림 x) 소숫점 표시 함수인 FORMAT(n, m)을 활용하면 된다.

 

- 제곱 함수 : POWER(n, m) → n의 m제곱

- 제곱근 함수 : SQRT(n) → n의 제곱근

- 소숫점 표시 함수 : FORMAT(n, m) → n을 m번째 소수점 자리까지 표현

 

SELECT FORMAT(SQRT(POWER(MIN(LAT_N) - MAX(LAT_N), 2) + POWER(MIN(LONG_W) - MAX(LONG_W), 2)), 4)
FROM STATION
;

 

 

728x90
반응형

'코딩 테스트 > MySQL' 카테고리의 다른 글

[LeetCode] 176. Second Highest Salary  (0) 2025.10.24
[HackerRank] Interviews  (2) 2025.08.18
[HackerRank] Weather Observation Station 18  (2) 2025.08.14
[HackerRank] Occupations  (3) 2025.08.12
[HackerRank] Symmetric Pairs  (2) 2025.08.11