

풀이
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')
'백준 > 실버 1' 카테고리의 다른 글
| 2468번 - 안전 영역(Python) (0) | 2025.02.07 |
|---|---|
| 14889번 - 스타트와 링크(Python) (0) | 2025.02.07 |
| 14888번 - 연산자 끼워넣기(Python) (0) | 2025.02.04 |
| 10844번 - 쉬운 계단 수(Python) (0) | 2025.01.25 |
| 2156번 - 포도주 시식(Python) (0) | 2025.01.25 |