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
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