https://www.hackerrank.com/challenges/binary-search-tree-1/problem?isFullScreen=true
Binary Tree Nodes | HackerRank
Write a query to find the node type of BST ordered by the value of the node.
www.hackerrank.com
위 테이블 BST 를 이용하여 아래와 같이 Root node, Inner node와 Leaf node를 선별하는 문제이다.
문제를 풀기에 앞서 테이블의 특징을 찾기 위해 테이블을 들여다 보니 금방 규칙을 알 수 있었다.
1. 부모 노드가 없는 노드가 Root node이다.
2. 부모 노드에 값이 존재하는 노드는 Inner node이다.
3. 부모 노드에 값이 존재하지 않는 노드는 Leaf node이다.
SELECT N
, CASE WHEN P IS NULL THEN 'Root'
WHEN N IN (SELECT P FROM BST) THEN 'Inner'
ELSE 'Leaf' END AS TYPE
FROM BST
ORDER BY N
코드는 적절히 작성하였으나 ALIAS가 없으면 정답으로 인정하지 않는다.
꼭 ALIAS를 붙여주자!
'데이터분석가 > SQL' 카테고리의 다른 글
[프로그래머스] 상품을 구매한 회원 비율 구하기 (0) | 2023.05.19 |
---|---|
[해커랭크] Weather Observation Station 20 - 사용자 정의 변수 선언, 중앙값(Median) 구하는 방법 (0) | 2023.03.31 |
[프로그래머스] 자동차 대여 기록 별 대여 금액 구하기 - CASE WHEN (0) | 2023.03.29 |
[프로그래머스] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (0) | 2023.03.06 |
[MySQL] IN과 REGEXP (0) | 2023.03.04 |
댓글