문제 출처 : www.acmicpc.net/problem/1991
문제 해석 : 트리를 전위, 중위, 후위 순회하는 코드를 작성하는 문제이다.
문제 풀이 : 딕셔너리 자료형을 통해서 트리를 구성하고 순회 알고리즘을 적용하면 풀 수 있다.
풀이 코드
def pre(current):
if current == ".":
return
else:
left,right = tree[current]
print(current, end="")
pre(left)
pre(right)
def mid(current):
if current == ".":
return
else:
left, right = tree[current]
mid(left)
print(current, end="")
mid(right)
def post(current):
if current ==".":
return
else:
left, right = tree[current]
post(left)
post(right)
print(current, end = "")
N = int(input())
tree = {}
for _ in range(N):
root, left, right = input().split()
tree[root] = [left, right]
pre("A")
print()
mid("A")
print()
post("A")
author : donghak park
contact : donghark03@naver.com
## 문제의 저작권은 백준 알고리즘 사이트에 있습니다. 혹시 문제가 되는 부분이 있으면 연락 바랍니다.
'📊알고리즘, 문제풀이 > 📈문제풀이 (PS)' 카테고리의 다른 글
[알고리즘][Python] 백준 2206 벽 부수고 이동하기 문제 풀이 (0) | 2021.01.21 |
---|---|
[알고리즘][Python] 백준 2096 내려가기 문제 풀이 (0) | 2021.01.21 |
[알고리즘][Python] 백준 1967 트리의 지름 문제 풀이 (0) | 2021.01.20 |
[알고리즘][Python] 백준 1918 후위 표기식 문제 풀이 (0) | 2021.01.20 |
[알고리즘][Python] 백준 1916 최소비용 구하기 문제 풀이 (0) | 2021.01.20 |