2025-02-11 23:18:02

기초적인 트리문제이다.

 

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

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

 

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')

 

'IT > ps' 카테고리의 다른 글

백준 1916번 최소비용 구하기  (0) 2025.02.12
백준 16953번 a->b  (0) 2025.02.12
백준 1261번 알고스팟  (0) 2025.02.11
백준 13549번 숨바꼭질 3  (0) 2025.02.11
백준 14226번 이모티콘  (0) 2025.02.11