해커랭크

알고리즘

[SQL]해커랭크 Binary Tree Nodes

LEFT JOIN과 서브쿼리를 사용한 2가지 풀이가 가능합니다. 서브쿼리를 사용한 코드부터 살펴보겠습니다. SELECT N , CASE WHEN P IS NULL THEN 'Root' WHEN N NOT IN (SELECT DISTINCT P FROM BST WHERE P IS NOT NULL) THEN 'Leaf' ELSE 'Inner' END AS node_type FROM BST ORDER BY N; 4번째 줄의 WHERE문을 입력하지 않으면 원하는 대로 코드가 출력되지 않습니다. 이 부분을 이해하느라 상당히 많은 시간이 소요됐는데 원인은 컬럼 P에 있는 NULL 때문입니다. NULL 값을 다룰 때는 항상 주의해야 할 것 같습니다. IS NOT NULL 조건이 없으면 Leaf 노드여야 할 노드들이..

알고리즘

[SQL]해커랭크 Top Competitors

✅ 코드 SELECT H.hacker_id , H.name FROM Submissions AS S INNER JOIN Challenges AS C ON S.challenge_id = C.challenge_id INNER JOIN Difficulty AS D ON C.difficulty_level = D.difficulty_level INNER JOIN Hackers AS H ON S.hacker_id = H.hacker_id WHERE D.score = S.score AND D.difficulty_level = C.difficulty_level GROUP BY H.hacker_id , H.name HAVING COUNT(S.submission_id) > 1 ORDER BY COUNT(S.submissio..

알고리즘

[SQL]해커랭크 The Report

✅ 코드 SELECT IF(G.Grade < 8, NULL, S.Name) , G.Grade , S.Marks FROM Students AS S INNER JOIN Grades AS G ON S.Marks BETWEEN G.Min_Mark AND G.Max_Mark ORDER BY G.Grade DESC, S.Name, S.Marks INNER JOIN 기준을 BETWEEN문을 사용해서 세웠습니다.

truezero
'해커랭크' 태그의 글 목록