mun dev

[HackerRank] Contest Leaderboard 오라클 풀이 본문

알고리즘/HackerRank

[HackerRank] Contest Leaderboard 오라클 풀이

mndev 2024. 2. 2. 13:25

문제링크

 

Contest Leaderboard | HackerRank

Generate the contest leaderboard.

www.hackerrank.com

 

풀이

1. hacker_id, name, 해커가 각 챌린지에서 얻은 최고점들의 합을 출력한다.

2. 해커가 얻은 총점이 0인 경우 결과에서 제외한다.

3. 점수의 합은 내림차순, 아이디는 오름차순

 

코드

select m.id, m.name, sum(m.total)
from
    (select max(s.score) total, s.hacker_id id, h.name name
    from Submissions s, Hackers h
    where s.hacker_id = h.hacker_id
    group by s.challenge_id, s.hacker_id, h.name) m
having sum(m.total) != 0
group by m.id, m.name
order by sum(m.total) desc, m.id;