🔥 작성코드
# 중위순회, 탐색한 노드의 번호를 순서대로 저장
def sol(v):
if v:
sol(ch1[v])
order.append(v)
sol(ch2[v])
return
T = 10
for test_case in range(1, T+1):
N = int(input())
# 각 노드의 왼쪽, 오른쪽 자식 입력
# word에 각 노드 값을 입력
ch1 = [0]*(N+1)
ch2 = [0]*(N+1)
word = ''
for _ in range(N):
lst = list(input().split())
word += lst[1]
if len(lst) >= 3:
ch1[int(lst[0])] = int(lst[2])
if len(lst) >= 4:
ch2[int(lst[0])] = int(lst[3])
order =[]
v = 1
sol(v)
# order에 저장된 순서를 이용해 word에서 문자 가져오기
result = ''
for i in order:
result += word[i-1]
print(f'#{test_case} {result}')
⭕ 해설
- 중위순회를 통해 탐색한 노드의 번호를 순서대로 저장합니다.
- 저장된 노드의 순서에 맞게 값을 입력해줍니다.
'Algorithm > SWEA' 카테고리의 다른 글
[SWEA] [모의 SW 역량테스트] 4012. 요리사 (python) (0) | 2022.03.17 |
---|---|
[SWEA] [모의 SW 역량테스트] 1953 탈주범 검거 (python) (0) | 2022.03.17 |
[SWEA] [파이썬 S/W 문제해결 기본] 6일차 - 미로의 거리 (python) (0) | 2022.02.25 |
[SWEA] [파이썬 S/W 문제해결 기본] 5일차 - 배열 최소 합 (python) (0) | 2022.02.24 |
[SWEA] [파이썬 S/W 문제해결 기본] 5일차 - 미로 (python) (0) | 2022.02.24 |