목록Programming Skill (52)
Data Blog
📢 본 포스팅에 사용된 자료와 출처는 LeetCode에서 제공된 것임을 밝힙니다. https://leetcode.com/problems/exchange-seats/description/ 해당 문제를 요약하면 다음과 같다.1. 연속된 두 학생마다 id 바꾸기2. 전체 학생 수가 홀수이면 마지막 학생의 id는 바꾸지 않기3. id 오름차순 이 문제의 핵심 포인트는 마지막 id를 어떻게 처리할 것인가인데 조금만 더 생각해 보면 마지막 id가 짝수인 경우에는 전혀 문제가 되지 않는다. 왜냐하면 연속된 두 명의 학생이 딱 맞아떨어지기 때문에 남는 학생 없이 교체가 가능하기 때문이다. 결국에 마지막 id가 홀수일 때가 관건이다. 여기서 마지막 id는 COUNT(*)와 동일하다는 의미이며, id가 홀수라는 것은 i..
📢 본 포스팅에 사용된 자료와 출처는 LeetCode에서 제공된 것임을 밝힙니다. https://leetcode.com/problems/department-highest-salary/description/해당 문제를 요약하면 다음과 같다.1. 부서별 최고 급여를 받은 사람 2. 정렬 고려 x 방법 1) WHERE절 서브쿼리SELECT d.name AS Department , e.name AS Employee , e.salary AS SalaryFROM employee AS e LEFT JOIN department AS d ON e.departmentid = d.idWHERE (e.departmentid, e.salary) IN (SELECT departmentid ..
📢 본 포스팅에 사용된 자료와 출처는 LeetCode에서 제공된 것임을 밝힙니다. https://leetcode.com/problems/department-top-three-salaries/description/ 해당 문제를 요약하면 다음과 같다.1. 부서별 high earner 구하기2. high earner란 부서별 상위 top 3안에 드는 급여를 받는 직원3. Department 정렬 부서별 salary의 ranking 하면 바로 생각나는 Window Function 처음에는 중복이 없는 순위를 구하는 줄 알아서 동점인 경우도 서로 다른 등수로 계산하는 ROW_NUMBER를 생각했지만 Explanation을 잘 읽어 보면 IT 부서의 Randy와 Joe가 공동 2등, Will이 3등임을 알 수 ..
📢 본 포스팅에 사용된 자료와 출처는 HackerRank에서 제공된 것임을 밝힙니다. https://www.hackerrank.com/challenges/harry-potter-and-wands/problem?isFullScreen=true 해당 문제를 요약하면 다음과 같다.1. non_evil (is_evil = 0)이고2. 각각의 power와 age에서 필요한 coins_needed가 min인 지팡이3. id, age, coins_needed, power 출력4. power 내림차순 & power 동일 시 age 내림차순 정렬 처음에는 조건 1 & 2가 이해가 안 갔는데 Explanation을 보니 이해가 갔다. age와 power가 같고 id가 다른 지팡이에 대해서는 coins_needed가 최..