[HackerRank] Weather Observation Station 18,19,20 Mysql 풀이
by darami- 해커 랭크_Weather Observation Station 18
SELECT ROUND(ABS(MIN(LAT_N)-MAX(LAT_N)) + ABS(MIN(LONG_W)-MAX(LONG_W)),4) FROM STATION;
- 5분만에 쉽게 답이 나왔다. 너무 겁먹을 필요 없다.
- ABS 를 알고 잇었기 때문에, ROUND 알고 있었기 때문에, 다른 문제들도 이것 만큼 빠르게 나올 수 있다!
- 다만, 역시 영어 공부도 되는 코딩 공부! Plane? 비행기가 아니라 평면, 2D Plane은 2차원
-- MIN(LAT_N), MIN(LONG_W) p1(a,c) -- MAX(LAT_N), MAX(LONG_W) p2(b,d) SELECT ROUND(SQRT(POW(MIN(LAT_N)-MAX(LAT_N),2) + POW(MIN(LONG_W)-MAX(LONG_W),2)),4) FROM STATION;
- 유클리드 이런 개념에 갑자기 당황해서 겁먹지만 않으면 된다!
- SQRT() : 제곱근
- POW()=POWER() : 거듭 제곱 ex) POW(2.4) : 2의 4제곱 =16
- () 부분 겹치는 것 헷갈리지 않게 코드 작성 유의
- 처음부터 완성된 코드를 작성하는데에 어려움을 겪으면 위 처럼 의사코드 혹은 주석을 작성하면서 알아가면 된다!
SELECT ROUND(LAT_N,4) FROM (SELECT LAT_N, PERCENT_RANK() OVER (ORDER BY LAT_N ASC) p FROM STATION) A WHERE p=0.5;
- PERCENT_RANK() : 임의의 행의 백분율 순위를 계산 0 ~ 1 로 계산
- order by 해서 p=0.5 : median 이겠죠?
- sql 스터디로 보완!
- 하면서 느는거다!
- 윈도우 함수 :
함수(컬럼) OVER (PATITION BY 컬럼 ORDER BY 컬럼)
SQL 스터디 코드 리뷰로 얻은점 (오늘 작성)
Weather Observation Station 20 의 다양한 코드 작성 방법
1. percentile_cont 함수
Weather Observation Station 20 | HackerRank
Query the median of Northern Latitudes in STATION and round to 4 decimal places.
www.hackerrank.com

2. 서브쿼리로 플기

https://mjs1995.tistory.com/94
[SQL][HackerRank] Weather Observation Station 20
https://www.hackerrank.com/challenges/weather-observation-station-20/problem?h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen Weather Obser..
mjs1995.tistory.com
3. 사용자 정의 함수
@row num _ 다시 이해가 필요

느낀점
- 다른 필수적인 일 때문에 바쁘다고 해도 1:1 주 3회 SQL 스터디는 빼먹지 말자! 뭘하든 SQL 능력이 올라야지 된다.
- 이렇게 꾸준히 하면 3분 컷으로 푸는 중급 문제도 생긴다. 어려운 부분을 더 파고 늘리다 보면 못할 것은 없다!
- 한 문제를 풀었다고 그첼 것이 아니라, ㅎㅇ님 처럼 다양한 문제 풀이를 참고하고 그 방법을 익히면 배로 알 수 있다.
그 방법을 귀찮아하지 말기!
블로그의 정보
다람
darami