Skip to content

Commit 181923e

Browse files
committed
solve: 9934 완전 이진 트리
1 parent 4803cac commit 181923e

File tree

2 files changed

+69
-2
lines changed

2 files changed

+69
-2
lines changed

baekjoon/week_03/21_9934/9934.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
2+
"""
3+
문제 이름: 완전 이진 트리
4+
문제 번호: 9934
5+
문제 링크: https://www.acmicpc.net/problem/9934
6+
난이도: Silver I
7+
태그: 구현, 재귀, 트리
8+
"""
9+
import sys
10+
11+
def input(): return sys.stdin.readline().rstrip()
12+
13+
14+
def solve(k, nodes):
15+
result = [[] for _ in range(k)]
16+
def recu(start, end, depth):
17+
if start == end:
18+
result[depth].append(nodes[start])
19+
return
20+
mid = (start+end)//2
21+
result[depth].append(nodes[mid])
22+
23+
recu(start, mid-1, depth+1)
24+
recu(mid+1, end, depth+1)
25+
recu(0, len(nodes)-1 , 0)
26+
return result
27+
28+
29+
k = int(input())
30+
nodes = [int(x) for x in input().split()]
31+
32+
result = solve(k, nodes)
33+
34+
for lst in result:
35+
print(*lst)

baekjoon/week_03/21_9934/README.md

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,45 @@
22
file: "9934.py"
33
name: "완전 이진 트리"
44
src: "https://www.acmicpc.net/problem/9934"
5-
tags:
5+
tags:
66
- 구현
77
- 재귀
88
- 트리
9-
done: false
9+
done: true
1010
draft: false
1111
level: 10
1212
difficulty: "Silver I"
1313
date: 2021-11-02
1414
---
15+
16+
#완전 이진 트리
17+
18+
```python
19+
import sys
20+
21+
def input(): return sys.stdin.readline().rstrip()
22+
23+
24+
def solve(k, nodes):
25+
result = [[] for _ in range(k)]
26+
def recu(start, end, depth):
27+
if start == end:
28+
result[depth].append(nodes[start])
29+
return
30+
mid = (start+end)//2
31+
result[depth].append(nodes[mid])
32+
33+
recu(start, mid-1, depth+1)
34+
recu(mid+1, end, depth+1)
35+
recu(0, len(nodes)-1 , 0)
36+
return result
37+
38+
39+
k = int(input())
40+
nodes = [int(x) for x in input().split()]
41+
42+
result = solve(k, nodes)
43+
44+
for lst in result:
45+
print(*lst)
46+
```

0 commit comments

Comments
 (0)