본문 바로가기

열정가득한 개발자의 이야기/hacker Rank SQL 문제

(8)
HackerRank mysql (Placements) Hi. long time no use English explaining the sql query. Let's starts! https://www.hackerrank.com/challenges/placements/problem?isFullScreen=true Placements | HackerRank Write a query to output the names of those students whose best friends got offered a higher salary than them. www.hackerrank.com First of all, I will explain this question. Summarize the question : even if this question's difficul..
HackerRank SQL Project Planning https://www.hackerrank.com/challenges/sql-projects/problem?isFullScreen=true SQL Project Planning | HackerRank Write a query to output the start and end dates of projects listed by the number of days it took to complete the project in ascending order. www.hackerrank.com 아... 못 풀었어요.. 이틀정도.. 생각을 하고 별짓을 다했는데... 더 시간 끌면 뭔가 시간 낭비인 거 같아서 이쯤 하고 답을 찾아봤습니다. 일단 문제 요약해 드릴게요 요약 : Table구성은 task_id, start_da..
Hacker Rank (The Report) 오늘 처음으로 알게 된 sql문이 있어서 급급하게 포스팅해 봅니다. 일단 문제를 소개해 드릴게요! 문제 요약 : 두 개의 테이블이 있고, MARKS를 기준으로 GRADE를 가져오는 것입니다. 그러나 성적이 낮은 아이들이 자신의 이름이 나오면 부끄러워할 수도 있으니 7등급 미만이 아이들의 이름은 NULL처리를 해줘야 합니다. 정렬은 MARKS가 가장 높은 아이가 나오고, GRADE가 동일하면 이름 순으로 나와야 합니다. 문제 풀이 : 일단 저는 해당 문제를 JOIN으로 풀려고 했습니다. 근데, 이전의 저는 JOIN문에는 꼭 동일한 아이디가 있어야 한다고 생각했어요. 예로 1번 테이블의 ID가 2번 테이블의 ID와 동일해서 ON으로 묶어줘야지만이 JOIN문을 쓸 수 있다고 생각했습니다. 근데.. 이건 완전 ..
Weather observation station 19 문제를 맞닥트렸을 때, 정말 졸았습니다.. 유클리드 거리를 구하라니.. 피타고라스도 가물가물한데.. 그래서 식을 찾아봤습니다. 식 : 음... 더모르겠,,, 더 찾아보니 쉽게 식을 풀어보면 루트((x - x) *2 + (y - y) * 2)입니다. 이걸 mysql로 옮기면 아래와 같아요. 우선 문제를 해석해 드리겠습니다. P1(a, c)와 P2(b, d)가 있고, (a, b)는 각각 LAT_N의 최대, 최솟값이고, (c, d)는 각각 LONG_W의 최대, 최솟값입니다. 즉, (A - B) * 2 + (C - D) *2가 되어야 합니다. 그리고 문제에서 요구한 것이 소수 점 넷째 자리까지 출력입니다. 답안 : SELECT ROUND(SQRT(POWER(MIN(LAT_N) - MAX(LAT_N),2) + P..
Weather observation station 20 So I succesfully solved the problem in medium level. it is about median. let's check about the way to solve this problem. To solve it, we should know about Median what is it. median is just middle of number. so for solving this, we should think how to know the median. Solution : 1) For checking median, using ROW_NUMBER method, so we can know the middle of number. 2) Using temporary table, we can..
Hacker Rank (Mysql) Basic this is really simple question. I solved the two query question which can study aggregation method SUM and COUNT. first of question : To learn COUNT. summarize the statement : just count cities where have a population lager than 100,000. checking point : before writting the SQL, need to think how can I solve this problem. so, to count the cities, I need to use COUNT method and for checking the p..
Hacker Rank Advanced Select -> pivot 사용 저의 답안은 아래와 같습니다! 복사 붙여 넣기 못하시게 일부러 캡처로...ㅎㅎ.. 한번 더 써보는 게 좋으니까요..! 중요 포인트 : MAX는 Mysql에서 최댓값을 쓰이는 것도 있지만 집계함수, 문자열 데이터에서는 알파벳 순으로 가장 뒤에 오는 값을 의미한다고 합니다. 그러나 여기서는 그런 뜻이 아닌 그룹 내에서 조건에 맞는 단일 값을 반환하는 역할을 하는 것입니다! - 처음 풀어보는 형식의 문제 mysql에서 pivot이 가능하다는 것을 처음 알았습니다. 그래서 그런 게 있다는 것도 모르고 옆으로 나열해 보려고 기존 case when과 with을 사용해서 별 짓을 다했는데 해당하는 값들이 나열되는 것이 아닌 다른 행에 한 값씩만 들어가 있었어요. 예로 null null alice null lee nu..
해커랭크 mysql advanced select 문제 안녕하세요! 프로그래머스의 sql은 다 풀어서 해커랭크 꺼를 풀어봤습니다. 근데 음.. 쉬운건 너무 기초적인 것 밖에 안 나와서 역시 프로그래머스문제가 훨씬 좋은것같긴합니다. 해당 문제는 난이도 중정도입니다! 문제가 영어라서 뭔가 정신줄 놓을 것 같은데 해석해 보면 그리 어려운 문제는 아닙니다. sample output처럼 기존 테이블의 데이터를 가져와서 아웃풋과 동일하게 만들어주면됩니다. 이 문제는 쿼리 두 개를 사용해야 하고 두 쿼리 모두 똑같이 concat이 필요한 문제예요! 그래서 저의 답안은 아래와 같습니다. 쉽다~ 이러면서 식 다 넣고 run code를 눌렀는데 계속 에러가 뜨는 거예요 아무리 생각을 해봐도 안 돌아갈 코드가 아닌데.. 그래서 보니 처음 select 문 order by 뒤에 '..