importcollectionsimportsysfromtypingimportListdefsolution(array:List[List[str]])->List[List[str]]:answer=[]tree=collections.defaultdict(list)forcinarray:root,left,right=ctree[root]=[left,right]# 전위: root -> left -> right
defpreorder(node):ifnode=='.':returntmp.append(node)preorder(tree[node][0])preorder(tree[node][1])# 중위: left -> root -> right
definorder(node):ifnode=='.':returninorder(tree[node][0])tmp.append(node)inorder(tree[node][1])# gn위: left -> right -> root
defpostorder(node):ifnode=='.':returnpostorder(tree[node][0])postorder(tree[node][1])tmp.append(node)tmp=[]preorder('A')answer.append(tmp)tmp=[]inorder('A')answer.append(tmp)tmp=[]postorder('A')answer.append(tmp)returnanswerN=int(sys.stdin.readline().rstrip())array=[]for_inrange(N):array.append(list(sys.stdin.readline().rstrip().split()))result=solution(array)forxinresult:print(''.join(x))
Leave a comment