https://www.acmicpc.net/problem/1991
#1991_트리순회
import sys
input = sys.stdin.readline
N = int(input())
def preorder(root):
if root != '.':
print(root, end='')
preorder(tree[root][0])#left
preorder(tree[root][1])#right
def inorder(root): #중위
if root!='.':
inorder(tree[root][0])#left
print(root,end='')
inorder(tree[root][1])#right
def postorder(root):#후위
if root!='.':
postorder(tree[root][0])
postorder(tree[root][1])
print(root,end='')
tree={}
for _ in range(N):
root, left, right = input().strip().split()
tree[root]=[left, right]
preorder('A')
print()
inorder('A')
print()
postorder('A')
전위순회/ 중위순회/ 후위순회 개념을 복습해서 이해하면 풀 수 있다!
'알고리즘 > 백준(BOJ)' 카테고리의 다른 글
[백준/알고리즘] #1110: 더하기 사이클 [파이썬(python)/수학] (0) | 2021.10.18 |
---|---|
[백준/알고리즘] #5639: 이진검색트리 [파이썬(python)/트리] (0) | 2021.10.18 |
[백준/알고리즘] #9934: 완전 이진 트리 [파이썬(python)/트리] (0) | 2021.10.18 |
[백준/알고리즘] #11279: 최대 힙 [파이썬(python)/자료구조/우선순위 큐] (0) | 2021.10.18 |
[백준/알고리즘] #2475: 검증수 [파이썬(python)/수학] (0) | 2021.10.18 |