236. 트리 순회
1) 어떤 전략(알고리즘)으로 해결?
2) 코딩 설명
<내 풀이>
import sys
n = int(sys.stdin.readline().rstrip())
dict = {}
for i in range(n) :
node, l, r = (sys.stdin.readline().rstrip().split())
dict[node] =[l,r]
def preorder_traversal(node) :
print(node, end="")
if dict[node][0]!='.' :
preorder_traversal(dict[node][0])
if dict[node][1]!='.' :
preorder_traversal(dict[node][1])
def inorder_traversal(node) :
if dict[node][0]!='.' :
inorder_traversal(dict[node][0])
print(node, end="")
if dict[node][1]!='.' :
inorder_traversal(dict[node][1])
def postorder_traversal(node) :
if dict[node][0]!='.' :
postorder_traversal(dict[node][0])
if dict[node][1]!='.' :
postorder_traversal(dict[node][1])
print(node, end="")
preorder_traversal('A')
print()
inorder_traversal('A')
print()
postorder_traversal('A')
< 내 틀렸던 풀이, 문제점>
9 프로서 틀림 (걍 오타)
import sys
n = int(sys.stdin.readline().rstrip())
dict = {}
for i in range(n) :
node, l, r = (sys.stdin.readline().rstrip().split())
dict[node] =[l,r]
def preorder_traversal(node) :
print(node, end="")
if dict[node][0]!='.' :
preorder_traversal(dict[node][0])
if dict[node][1]!='.' :
preorder_traversal(dict[node][1])
def inorder_traversal(node) :
if dict[node][0]!='.' :
inorder_traversal(dict[node][0])
print(node, end="")
if dict[node][1]!='.' :
inorder_traversal(dict[node][1])
def postorder_traversal(node) :
if dict[node][0]!='.' :
inorder_traversal(dict[node][0])
if dict[node][1]!='.' :
inorder_traversal(dict[node][1])
print(node, end="")
preorder_traversal('A')
print()
inorder_traversal('A')
print()
postorder_traversal('A')
<반성 점>
<배운 점>