알고리즘/백준(BOJ)

[백준/알고리즘] #5639: 이진검색트리 [파이썬(python)/트리]

https://www.acmicpc.net/problem/5639

 

5639번: 이진 검색 트리

트리를 전위 순회한 결과가 주어진다. 노드에 들어있는 키의 값은 106보다 작은 양의 정수이다. 모든 값은 한 줄에 하나씩 주어지며, 노드의 수는 10,000개 이하이다. 같은 키를 가지는 노드는 없다

www.acmicpc.net

#5639_이진검색트리
import sys
sys.setrecursionlimit(1000000000)
input = sys.stdin.readline

def postorder(left,right):
    if left > right:
        return
    else:
        root=preorder[left]
        div = right+1
        for i in range(left+1,right+1):
            if root<preorder[i]: 
                div = i
                break
        postorder(left+1, div-1)
        postorder(div, right)
        print(root)
    
preorder=[]
while True:
    try:
        preorder.append(int(input()))
    except:
        break

postorder(0,len(preorder)-1)