https://www.hackerrank.com/challenges/binary-search-tree-1/problem?isFullScreen=true
Column | Type |
N | Integer |
P | Integer |
BST 테이블:
- N, P : 노드정보를 가진 두 열
여기서 N은 이진 트리의 노드 값을 나타내고, P는 N의 부모 노드를 나타냅니다.
각 노드의 노드 타입을 찾아 노드의 값으로 정렬하여 출력하는 쿼리를 작성하세요. 각 노드에 대해 다음 중 하나를 출력하세요:
- Root: 노드가 루트 노드인 경우.
- Leaf: 노드가 리프 노드인 경우.
- Inner: 노드가 루트 노드도 리프 노드도 아닌 경우.
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
P가 null이라면 부모노드가 없는 경우이므로 Root가 된다.
N이 어떤 노드의 부모노드 일 경우(N이 P에 속할경우) Root도 Leaf도 아니므로 Inner가 된다.
그외에는 Leaf가 된다.
'코딩일기' 카테고리의 다른 글
SQL 코드카타 170 - Weather Observation Station 20 (0) | 2024.07.22 |
---|---|
SQL 코드카타 169 - New Companies (0) | 2024.07.22 |
SQL 코드카타 167 - Average Population of Each Continent (0) | 2024.07.21 |
SQL 코드카타 166 - African Cities (0) | 2024.07.21 |
SQL 코드카타 165 - Population Census (0) | 2024.07.20 |