[Python] 백준1991 트리 순회

[Python] 백준1991 트리 순회

백준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))) 

설명

파이썬을 통해서 사용자로부터 입력받아 재귀알고리즘을 사용하여 트리 순회를 구현했습니다.


결과

결과


© 2022. All rights reserved. 신동민의 블로그