Weather Observation Station 13 & Weather Observation Station 18

는는·2023년 2월 9일
0

SQL - 문제 풀이

목록 보기
29/77

Weather Observation Station 13

https://www.hackerrank.com/challenges/weather-observation-station-13/problem?isFullScreen=true

lat_n이 38.7880보다 크고, 137.2345 보다 큰 값의 합을 구하고 소수자리 4자리 수까지 보이게 해주는 문제입니다.

WHERE절에서 38.7880보다 크고, 137.2345 보다 큰 값을 가져오겠습니다.

WHERE lat_n > 38.7880  AND 137.2345 > lat_n

이제 SELECT절에서 lat_n의 합을 구하고, round를 이용해 4자리를 가져온 후 반올림해줍니다.

SELECT ROUND(SUM(lat_n),4)

정답

SELECT ROUND(SUM(lat_n),4)
FROM station
WHERE lat_n > 38.7880  AND 137.2345 > lat_n

Weather Observation Station 18

https://www.hackerrank.com/challenges/weather-observation-station-18/problem?isFullScreen=true

맨해튼 거리를 구하는 문제인데요.

맨해튼 거리란?

맨해튼 거리(Manhattan distance, 혹은 택시 거리, L1 거리, 시가지 거리,Taxicab geometry)는 19세기의 수학자 헤르만 민코프스키가 고안한 용어로, 보통 유클리드 기하학의 거리 공간을 좌표에 표시된 두 점 사이의 거리(절댓값)의 차이에 따른 새로운 거리 공간으로 대신하기도 한다.

(p{1},p{2})과 (q{1},q{2}) 사이이면 |p{1}-q{1}|+|p{2}-q{2}| 이다.

위에 지정해준 P1(a,b) P2(c,d)를 구한 후 (a-c) + (b-d) 를 해주는 문제입니다.

P1부터 구해봅니다.
a = lat_n의 최솟값, b = long_w의 최솟값 모두 min이라는 함수를 이용해서 구합니다.

min(lat_n) , mim(long_w)

P2 는
c = lat_n 의 최댓값 , d = long_w의 최댓값 max함수를 이용해 구해줍니다.

lat_n의 최댓값과 최솟값을 빼고 long_w의 최댓값 최솟값을 뺀 후 둘이 더해줍니다.

최솟값 - 최댓값을 하면 값이 (-)로 나오기 최댓값 - 최솟값으로 계산 해줘야합니다.

SELECT (max(lat_n) - min(lat_n)) + (max(long_w) - min(long_w))
FROM station

구한 값을 round 을 이용해 4자리 수만 나타내주고, 반올림 해주면 정답입니다.

정답

SELECT round((max(lat_n) - min(lat_n)) + (max(long_w) - min(long_w)),4)
FROM station

0개의 댓글

관련 채용 정보