관리 메뉴

물 만날 물고기

[해커랭크/MYSQL] - (41) Weather Observation Station 19 본문

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    

- 작성코드

--