IT/ps

백준 1991번 트리 순회

u149_cinderella 2025. 2. 11. 23:18

기초적인 트리문제이다.

 

트리구현을 해야하는데 파이썬으로 트리구현한 사람들을 보니까 대부분 해시로 구현을 했다.

나는 클래스로 구현하려했는데 그냥 해시로 구현하는게 훨씬 간단할듯해서 해시로 구현한다.

 

import sys

n=int(sys.stdin.readline().rstrip())
tree={}
for i in range(n):
    root,left,right=sys.stdin.readline().rstrip().split()
    tree[root]=[left,right]

def pre(root):
    if root=='.':
        return
    print(root,end='')
    pre(tree[root][0])
    pre(tree[root][1])

def in_order(root):
    if root=='.':
        return
    in_order(tree[root][0])
    print(root,end='')
    in_order(tree[root][1])
def post(root):
    if root=='.':
        return
    post(tree[root][0])
    post(tree[root][1])
    print(root,end='')

pre('A')
print()
in_order('A')
print()
post('A')