https://www.acmicpc.net/problem/1991
n=int(input())
tree={}
for _ in range(n):
root, left, right = input().split()
tree[root]=[left, right]
def preorder(node):
if node=='.':
return
print(node, end='')
preorder(tree[node][0])
preorder(tree[node][1])
def inorder(node):
if node=='.':
return
inorder(tree[node][0])
print(node, end='')
inorder(tree[node][1])
def postorder(node):
if node=='.':
return
postorder(tree[node][0])
postorder(tree[node][1])
print(node, end='')
preorder('A')
print()
inorder('A')
print()
postorder('A')
- 저번주 1주일동안 백트래킹을 연습하면서 재귀함수에 익숙해지려고 노력했다.
- 이번주는 트리를 하려고 하는데 첫 문제부터 쉽지 않아 다른 블로거들의 코드를 참조했다.