본문 바로가기

hackerrank7

HackerRank - Weather Observation Station 20_MySQL 안녕하세요! 해커랭크에 있는 Weather Observation Station 20 문제입니다. SQL에서는 중앙값을 직접 구할 수가 없어서 중앙값 개념을 잘 이해해야 응용해서 해결 할 수 있습니다. 중앙값은 말 그대로 크기 순서대로 전체 데이터를 보았을 떄 한 가운데 위치하고 있는 값을 의미합니다. 데이터의 개수가 홀수라면 한 가운데 있는 값을 중심으로 좌우에 짝수 개의 데이터들이 분포하고 있겠죠. 하지만, 데이터의 개수가 짝수라면 한 가운데 위치하고 있는 값을 찾을 수 없습니다. 이 때는 가운데 위치하고 있는 두 개의 숫자를 더하고 평균을 구한 값을 이용합니다. 개념 이해를 바탕으로 문제를 해결해 보겠습니다. - 문제 STATION 테이블에서 Northern Latitudes(LAT_N) 의 중앙값을.. 2022. 6. 23.
HackerRank - SQL Project Planning (서브쿼리, 윈도우함수)_MySQL 안녕하세요! 해커랭크의 SQL Project Planning 문제입니다. - 문제 설명 각 프로젝트 별로 시작일, 종료일이 포함된 테이블이 있다. 시작일과 종료일은 각 행마다 1일 차이로 구성되어 있다. 종료일과 시작일이 연속된다면 해당 프로젝트는 동일한 프로젝트의 부분이다. 프로젝트의 시작일과 종료일을 출력해야 하며, 프로젝트가 완료되기까지 소요되는 기간을 기준으로 오름차순 정렬한다. 기간이 동일하다면 시작일 기준으로 정렬한다. - 테이블 - 쿼리 SELECT s.start_date , e.end_date FROM ( SELECT start_date , ROW_NUMBER() OVER(ORDER BY start_date) rn FROM projects WHERE start_date NOT IN (SEL.. 2022. 5. 1.
SQL 문제 풀어볼 수 있는 사이트_프로그래머스/해커랭크/리트코드 안녕하세요! 학습한 SQL 이론을 문제를 풀며 실제로 적용해볼 수 있는 곳입니다. 숙련도를 쌓기 위해 반복 또 반복하며 노력해야겠습니다. 1. programmers https://programmers.co.kr/learn/challenges 코딩테스트 연습 기초부터 차근차근, 직접 코드를 작성해 보세요. programmers.co.kr 2. HackerRank https://www.hackerrank.com/domains/sql Solve SQL Code Challenges A special-purpose language designed for managing data held in a relational database. www.hackerrank.com 3. LeetCode https://leetco.. 2022. 4. 25.
HackerRank - New Companies (SELECT 절 서브쿼리)_MySQL 안녕하세요! 해커랭크의 New Companies 문제입니다. - 문제 각 회사는 아래의 계층을 따른다. 'Founder - Lead Manager - Senior Manager - Manager - Employee' 아래의 주어진 테이블을 참조하여 company_code, founder name, lead manager 의 수, senior manager 의 수, manager 의 수, employee 의 수를 조회한다. 결과는 company_code 의 오름차순으로 정렬한다. - 테이블 - 쿼리 1. SELECT 절 서브쿼리 select C.company_code, C.founder , (select count(distinct lead_manager_code) from lead_manager where.. 2022. 4. 24.
HackerRank - Placements(조인, 서브쿼리/with 문)_MySQL 안녕하세요! 해커랭크에 있는 Placements 문제입니다. - 문제 자신보다 급여가 많은 친구가 있는 사람의 이름을 조회해야 한다. 이름은 친구의 급여를 기준으로 오름차순으로 정렬하면 되겠습니다. (친구와 비교를 해야 한다니 문제가 잔인하네요.) - 테이블 - 쿼리 1. 조인, 서브쿼리 사용 select name from students s inner join packages p on s.id = p.id inner join (select f.id, friend_id, salary from friends f inner join packages p on f.friend_id = p.id) f on s.id = f.id where p.salary < f.salary order by f.salary 1) 본.. 2022. 4. 21.