Loading [MathJax]/jax/output/HTML-CSS/jax.js

문제

위와 같은 STATION 테이블에서, P1(a,b),P2(c,d)를 정의

- a: LAT_N의 최소값

- b: LONG_W의 최소값

- c: LAT_N의 최대값

- d: LONG_W의 최대값

일 때,

1번 문제: P1P2 사이의 맨하탄 거리를 구하고, 소숫점 4자리로 반올림

2번 문제:  P1P2 사이의 유클리디안 거리를 구하고, 소숫점 4자리로 반올림

※ 맨하탄 거리 d(P1,P2)=(|ac|)+(|bd|)

※ 유클리디안 거리 d(P1,P2)=(ac)2+(bd)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

+ Recent posts