cmod.ify
[1991] 트리 순회 본문
728x90
반응형
이진트리라서 2개 열만 만들었다.
알파벳을 인덱스화 해서 재귀탐색으로 구현했다.
전위 중위 후위 순위 헷갈렸는데 문제에 친절하게 알려줌
생각해보니 이름에 다 나와있네. 루트가 전 루트가 중 루트가 후
import sys
input = sys.stdin.readline
N = int(input())
tree = [[-1] * 2 for _ in range(26)]
for _ in range(N):
li = input().strip().split()
par = ord(li[0]) - ord("A")
if li[1] != ".":
tree[par][0] = ord(li[1]) - ord("A")
if li[2] != ".":
tree[par][1] = ord(li[2]) - ord("A")
def Pre(n):
if n == -1:
return
print(chr(n + 65), end="")
Pre(tree[n][0])
Pre(tree[n][1])
def In(n):
if n == -1:
return
In(tree[n][0])
print(chr(n + 65), end="")
In(tree[n][1])
def Post(n):
if n == -1:
return
Post(tree[n][0])
Post(tree[n][1])
print(chr(n + 65), end="")
Pre(0)
print()
In(0)
print()
Post(0)
728x90
반응형
'BASIC > 코딩테스트' 카테고리의 다른 글
| [1916] 최소비용 구하기 (0) | 2026.01.22 |
|---|---|
| [11660] 구간 합 구하기5 (0) | 2026.01.21 |
| [1932] 정수 삼각형 (0) | 2026.01.16 |
| [1629] 곱셈 (0) | 2026.01.16 |
| [1149] RGB 거리 (0) | 2026.01.15 |