새로운 블로그로 이전 작업을 진행하고 있어 포스트가 새로 작성되고 있지 않습니다.

빠른 시일 내에 새로운 블로그로 인사드리겠습니다.

새로운 블로그 : https://unho.vercel.app/

본문 바로가기
알고리즘 문제풀이/SQL

[HackerRank] Top Earners

by 언호 2021. 12. 30.

📖 문제


🧑🏻‍💻 풀이 과정

1) 문제 이해 및 접근

총 수입 계산을 위해 연산 및 별칭 사용

서브쿼리와 Group by 를 이용하여 접근 시도를 하였으나, 어려움을 겪음

 

총 수입이 많은 순서대로 정렬 및 제한된 개수의 결과만 출력하도록 접근

COUNT(*) 사용시 원치않는 NULL 값이 포함될 수 있어 특정열을 카운트하도록 사용

2) 풀이 코드

사용 언어 - MySQL

SELECT (months * salary) AS earnings, COUNT(name)   -- 총 수입, 같은 수입을 가진 사람의 수
FROM employee                                       
GROUP BY earnings                                   -- 총 수입을 그룹으로 묶음
ORDER BY earnings DESC                              -- 수입이 많은 순으로 정렬
LIMIT 1;                                            -- 상위 1개만 출력

📝 결과 및 학습한 내용

1) 어려웠던 내용

계산된 총 수입을 서브쿼리로 이용한 후 그 수입들 중 최대값을 구하고, 그 최대값의 개수를 구하려고 시도하였으나 몇몇 오류로 어려움을 겪어서 다른 방법으로 접근

2) 새롭게 학습한 내용

원하는 결과를 출력하는 방식에는 여러 방법이 있어서, 해결이 잘 되지 않을때는 다른 방식으로 접근하는것도 좋다


🔗 문제 링크

- https://www.hackerrank.com/challenges/earnings-of-employees/problem?isFullScreen=false 

 

Top Earners | HackerRank

Find the maximum amount of money earned by any employee, as well as the number of top earners (people who have earned this amount).

www.hackerrank.com

 

 

※ 오류 및 오타, 다른 의견이 있는 경우 댓글을 남겨주시면 감사하겠습니다

댓글