What a Beautiful Data!

[HackerRank] Weather Observation Station 18,19,20 Mysql 풀이

by darami
  1. 해커 랭크_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차원
  1. 해커랭크_ Weather Observation Station 19
-- 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
  • () 부분 겹치는 것 헷갈리지 않게 코드 작성 유의
  • 처음부터 완성된 코드를 작성하는데에 어려움을 겪으면 위 처럼 의사코드 혹은 주석을 작성하면서 알아가면 된다! 
  1. 해커랭크_Weather Observation Station 20
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

활동하기