문제

위와 같은 STATION 테이블에서, P1(a,b),P2(c,d)를 정의
- a: LAT_N의 최소값
- b: LONG_W의 최소값
- c: LAT_N의 최대값
- d: LONG_W의 최대값
일 때,
1번 문제: P1과 P2 사이의 맨하탄 거리를 구하고, 소숫점 4자리로 반올림
2번 문제: P1과 P2 사이의 유클리디안 거리를 구하고, 소숫점 4자리로 반올림
※ 맨하탄 거리 d(P1,P2)=(|a−c|)+(|b−d|)
※ 유클리디안 거리 d(P1,P2)=√(a−c)2+(b−d)2
풀이
-- 1번. 맨하탄 거리
-- a: MIN(LAT_N)
-- b: MIN(LONG_W)
-- c: MAX(LAT_N)
-- d: MAX(LONG_W)
-- ABS(): 절댓값(| |)
-- ROUND(a, n): a를 소숫점 n자리로 반올림
SELECT ROUND(ABS(MIN(LAT_N) - MAX(LAT_N)) + ABS(MIN(LONG_W) - MAX(LONG_W)), 4) FROM STATION
-- 출력
259.6859
-- 2번. 유클리디안 거리
-- a: MIN(LAT_N)
-- b: MIN(LONG_W)
-- c: MAX(LAT_N)
-- d: MAX(LONG_W)
-- SQRT(): 제곱근
-- POWER(a, n): a의 n제곱
-- ROUND(a, n): a를 소숫점 n자리로 반올림
SELECT ROUND(SQRT(POWER(MIN(LAT_N) - MAX(LAT_N), 2) + POWER(MIN(LONG_W) - MAX(LONG_W), 2)), 4) FROM STATION
-- 출력
184.1616
'SQL' 카테고리의 다른 글
[HackerRank] New Companies(MySQL) (0) | 2024.05.11 |
---|---|
[HackerRank] Occupations(MySQL) (0) | 2024.04.08 |
[HackerRank] Occupations(MySQL) (0) | 2024.04.01 |
[HackerRank] The PADS(MySQL) (0) | 2024.03.20 |