기초적인 트리문제이다.
트리구현을 해야하는데 파이썬으로 트리구현한 사람들을 보니까 대부분 해시로 구현을 했다.
나는 클래스로 구현하려했는데 그냥 해시로 구현하는게 훨씬 간단할듯해서 해시로 구현한다.
import sys
n=int(sys.stdin.readline().rstrip())
tree={}
for i in range(n):
root,left,right=sys.stdin.readline().rstrip().split()
tree[root]=[left,right]
def pre(root):
if root=='.':
return
print(root,end='')
pre(tree[root][0])
pre(tree[root][1])
def in_order(root):
if root=='.':
return
in_order(tree[root][0])
print(root,end='')
in_order(tree[root][1])
def post(root):
if root=='.':
return
post(tree[root][0])
post(tree[root][1])
print(root,end='')
pre('A')
print()
in_order('A')
print()
post('A')
'IT > ps' 카테고리의 다른 글
백준 1916번 최소비용 구하기 (0) | 2025.02.12 |
---|---|
백준 16953번 a->b (0) | 2025.02.12 |
백준 1261번 알고스팟 (0) | 2025.02.11 |
백준 13549번 숨바꼭질 3 (0) | 2025.02.11 |
백준 14226번 이모티콘 (0) | 2025.02.11 |