Allen's 데이터 맛집

HackerRank lv. Medium : Binary Tree Nodes 본문

SQL/SQL 문제풀이

HackerRank lv. Medium : Binary Tree Nodes

Allen93 2024. 2. 8. 21:38

 

문제

hackerrank binary tree nodes

 

 

풀이

 

select N,
    case
    when P is NULL then "Root"
    when N in (select P from bst) then "Inner"
    else "Leaf"
    end
from 
    bst
order by
    N

 

해당 문제는 이진 탐색 트리(BST)의 각 노드에 대해 해당 노드의 유형을 결정하는 것입니다.

1. 각 노드의 이름(N)을 선택합니다.


2. CASE 문을 사용하여 각 노드의 유형을 확인합니다.


- P 값이 NULL인 경우: 이는 루트 노드를 나타냅니다. 따라서 "Root"로 표시됩니다.
- P 값이 NULL이 아니고, 해당 노드의 이름(N)이 다른 노드의 부모 노드로 지정된 경우: 이는 내부 노드를 나타냅니다.

  따라서 "Inner"로 표시됩니다.
- 그렇지 않은 경우: 이는 리프(잎) 노드를 나타냅니다. 따라서 "Leaf"로 표시됩니다.


3. 이진 탐색 트리(BST) 테이블(bst)을 기준으로 결과를 정렬합니다.

 


이 쿼리는 이진 탐색 트리에서 각 노드의 위치와 역할을 확인하는 데 사용됩니다. 

 

 

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