재귀 진짜 너무 안 된다.
머리가 안 도는건가.
https://fre2-dom.tistory.com/231
[baekjoon] 백준 1991번(파이썬): 트리 순회
문제 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름
fre2-dom.tistory.com
라고 우울해했었으나,
저녁 먹고
재귀 몇 문제 더 보고 다시 오니까 이해가 된다.
다시 으쌰으쌰해서 풀어봤다.
/ 제출 1 /
import sys
input = sys.stdin.readline
n = int(input())
tree = {}
start =''
for i in range(n):
node, left, right = input().split()
tree[node] = [left, right]
if i == 0:
start = node
def preorder(node):
if node != '.':
print(node, end="")
preorder(tree[node][0])
preorder(tree[node][1])
def inorder(node):
if node != '.':
inorder(tree[node][0])
print(node, end="")
inorder(tree[node][1])
def postorder(node):
if node != '.':
postorder(tree[node][0])
postorder(tree[node][1])
print(node, end="")
preorder(start)
print('')
inorder(start)
print('')
postorder(start)
참 기초 중의 기초 알고리즘인데.. 2학년때 배웠던 건데 이제야 하고 있네. 늦었다고 아예 망한 건 아니니까. 부랴부랴 달려나가자.
'CodingTest > Baekjun Online Judge' 카테고리의 다른 글
[ BOJ / 파이썬 ] 10870 피보나치 수 5 (0) | 2022.07.25 |
---|---|
[ BOJ / 파이썬 ] 1992 쿼드트리 (0) | 2022.07.25 |
[ BOJ / 파이썬 ] 1074 Z (0) | 2022.07.25 |
[ BOJ / 파이썬 ] 11729 하노이 탑 이동 순서 (0) | 2022.07.25 |
[ BOJ / 파이썬 ] 1697 숨바꼭질 (0) | 2022.07.24 |