트리 구성

트리 구성

보통

지침

트리 구축 알고리즘을 리팩터링해봐요.

일부 웹 포럼은 트리 구조를 사용해서 게시물을 트리 형태로 보여줘요. 그런데 게시물은 보통 정렬되지 않은 레코드 집합의 형태로 데이터베이스에 저장돼요. 따라서 사용자에게 게시물을 보여줄 때는 트리 구조를 다시 구성해야 해요.

이번에 할 일은 고도로 추상화된 레코드를 위한 트리 구축 로직을 구현한, 동작은 하지만 느리고 지저분한 코드를 리팩터링하는 거예요. 레코드에는 ID 번호와 부모 ID 번호만 들어 있어요. ID 번호는 항상 0 이상이고 레코드 목록의 길이 미만이에요. 루트 레코드를 제외한 모든 레코드는 자신의 ID보다 작은 부모 ID를 가져요. 루트 레코드는 부모 ID가 자신의 ID와 같아요.

예시 트리:

root (ID: 0, parent ID: 0)
|-- child1 (ID: 1, parent ID: 0)
|    |-- grandchild1 (ID: 2, parent ID: 1)
|    +-- grandchild2 (ID: 4, parent ID: 1)
+-- child2 (ID: 3, parent ID: 0)
|    +-- grandchild3 (ID: 6, parent ID: 3)
+-- child3 (ID: 5, parent ID: 0)
GitHub에서 편집 링크가 새 창이나 탭에서 열려요
Visual Basic Exercism

트리 구성 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 Visual Basic 트랙을 연습 문제 113개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.