본문 바로가기
백준/실버 1

1991번 - 트리 순회(Python)

by 김주현3902 2025. 2. 5.

풀이

dictionary에 트리를 저장한다.

이후에, 함수를 이용하여 각 순회에서 원하는 순서대로 함수를 호출하여 이들을 구현한다.

코드

N = int(input())
tree = dict()

for _ in range(N):
    root, left, right = input().split()
    tree[root] = [left, right]


def preorder(root):
    if root != '.':
        print(root, end="")
        preorder(tree[root][0])
        preorder(tree[root][1])



def inorder(root):
    if root != '.':
        inorder(tree[root][0])
        print(root, end="")
        inorder(tree[root][1])


def postorder(root):
    if root != '.':
        postorder(tree[root][0])
        postorder(tree[root][1])
        print(root, end="")


preorder('A')
print()
inorder('A')
print()
postorder('A')