DB & SQL/해커랭크
[해커랭크/MYSQL] - (41) Weather Observation Station 19
Lung Fish
2023. 7. 5. 15:56
🔍 예상 검색어
더보기
# 물만날물고기
# SQL
# MYSQL
# HACKERRANK
# 해커랭크
# Weather Observation Station 19
# SQRT
# POWER
# 유클리안 거리
해당 포스팅은 해커랭크 MYSQL "Weather Observation Station 19" 문제에 대한 풀이를 정리하였습니다.
▶ 문제
▶ 내 정답 (1) - ROUND 사용
-- a : MIN(LAT_N)
-- b : MAX(LAT_N)
-- c : MIN(LONG_W)
-- d : MAX(LONG_W)
WITH STEP_01 AS
(
SELECT MIN(LAT_N) AS a, MAX(LAT_N) AS b, MIN(LONG_W) AS c, MAX(LONG_W) AS d
FROM STATION
)
SELECT ROUND(SQRT(POWER(a-b, 2)+POWER(c-d,2)), 4)
FROM STEP_01
▶ 내 정답 (2) - TRUNCATE 사용
WITH STEP_01 AS
(
SELECT MIN(LAT_N) AS a, MAX(LAT_N) AS b, MIN(LONG_W) AS c, MAX(LONG_W) AS d
FROM STATION
)
SELECT TRUNCATE(SQRT(POWER(a-b, 2)+POWER(c-d,2)), 4)
FROM STEP_01
▶ 내 정답 (3) - CAST AS DECIMAL사용
SELECT CAST(ROUND(SQRT(POWER(a-b, 2)+POWER(c-d,2)),4) AS DECIMAL(10,4))
FROM STEP_01
▶ 다른 사람 정답
SELECT
ROUND(SQRT(
POWER(MAX(LAT_N) - MIN(LAT_N), 2)
+ POWER(MAX(LONG_W) - MIN(LONG_W), 2)
), 4)
FROM
STATION;
▶ 총평
지난번 맨해튼 거리 구하는 문제랑 비슷한데, 유클리안 거리 문제는 제곱근과 제곱 함수 사용을 위해 만든 문제 같다. 루트를 씌어야 할 때는 SQRT 함수를, 제곱을 해야 할 때는 POWER 함수를 사용하면 된다. 소수점 4자리 처리하는 방법은 몇가지가 있는데 만약 ROUND함수로 했는데도 정답이 안되면 CAST 함수나 TRUNCATE 소수점 절삭 함수를 사용해보기를 바란다.
[해커랭크/MYSQL] - (40) Weather Observation Station 18 (맨하튼 거리 문제)
[해커랭크/MYSQL] - (40) Weather Observation Station 18
🔍 예상 검색어 더보기 # 물만날물고기 # SQL # Weather Observation Station 18 # 해커랭크 # HACKERRANK # MYSQL 해당 포스팅은 해커랭크/MYSQ의 "Weather Observation Station 18" 문제에 대한 풀이를 정리하였습니다. ▶
lungfish.tistory.com
▼ 참고자료
No. | 내용 | 비고 |
1 | ||
2 | ||
3 | ||
4 | ||
5 |
▼ 복습/히스토리
더보기
No. | 복습일 | 비고 |
1 | ||
2 | ||
3 | ||
4 | ||
5 |
- 작성코드
--