Dev Hyeri

◖코딩 테스트◗▬▬▬▬▬▬▬▬▬/해커랭크

[해커랭크Medium] (2024) Binary Tree Nodes, 이진 트리 노드 (설명/코드/정답)

_hyeri 2024. 2. 21. 01:40

 

문제 링크 : https://www.hackerrank.com/challenges/binary-search-tree-1/problem

 

1. 요구 사항 이해

이진 트리 노드의 타입을 식별 

최상위 노드 Root

최하위 노드 Leaf

중간 노드 Inner

node 정렬

 

 

2. 설계/검증 

Root

- 최상위 노드 N은 부모 P값이 null

Leaf 

- 최하위 노드는 부모에 해당하지 않는다.

 

 

3. 정상 코드

 Binary Tree Nodes, 이진 트리 노드

SELECT N, 
       CASE 
            WHEN P IS NULL THEN "Root"
            WHEN N IN (SELECT P 
            		   FROM BST 
                       WHERE P IS NOT NULL) THEN "Inner"
            ELSE "Leaf"
       END AS AA
FROM BST
ORDER BY N;

 

 

4. 추가 정리

출처. https://en.wikipedia.org/wiki/Binary_tree

 

 

이진 트리

그래프의 일종으로 계층적 자료구조이다. 

  • Root : 트리의 최상위 노드
  • Leaf : 자식 노드가 없는 노드
  • Level : 루트를 0으로 하였을 때 각 노드의 깊이