[Python] 백준1991 트리 순회
문제
예제 입력
코드
import sys
n = int(input())
arr = dict()
for _ in range(n):
a, b, c = sys.stdin.readline().split()
arr[a] = [b, c]
ans1 = []
def sol1(root):
ans1.append(root)
if arr[root][0] != '.':
sol1(arr[root][0])
if arr[root][1] != '.':
sol1(arr[root][1])
ans2 = []
def sol2(root):
if arr[root][0] != '.':
sol2(arr[root][0])
ans2.append(root)
if arr[root][1] != '.':
sol2(arr[root][1])
ans3 = []
def sol3(root):
if arr[root][0] != '.':
sol3(arr[root][0])
if arr[root][1] != '.':
sol3(arr[root][1])
ans3.append(root)
sol1('A')
sol2('A')
sol3('A')
print(''.join(map(str, ans1)))
print(''.join(map(str, ans2)))
print(''.join(map(str, ans3)))
설명
파이썬을 통해서 사용자로부터 입력받아 재귀알고리즘을 사용하여 트리 순회를 구현했습니다.