Baekjoon1992 - 쿼드트리 (Python)
백준 사이트 1992 - 쿼드트리 문제입니다.
이 글을 보시기 전에 문제를 풀기 위해 충분한 생각을 하셨나요? 답을 안 보고 푸는게 최대한 고민하는게 가장 중요하다고 생각합니다.!!
☑️ 1. 문제
https://www.acmicpc.net/problem/1992
☑️ 2. Input , Output
☑️ 3. 분류 및 난이도
solved.ac class 3 문제입니다.
☑️ 4. 생각한 것들
- ‘색종이 만들기’라는 문제와 비슷하게 풀 수 있습니다. 제 포스트를 참고해주세요.
5. code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from sys import stdin
result = []
def recur(maps, row, col, size):
def is_full(maps, row, col, size):
bit = maps[row][col]
for i in range(row, row + size):
for j in range(col, col + size):
if bit != maps[i][j]:
return False
return True
if is_full(maps, row, col, size):
result.append(maps[row][col])
return
new_size = size // 2
result.append('(')
recur(maps, row, col, new_size)
recur(maps, row, col + new_size, new_size)
recur(maps, row + new_size, col, new_size)
recur(maps, row + new_size, col + new_size, new_size)
result.append(')')
def solution():
size = int(stdin.readline())
maps = []
for _ in range(size):
maps.append(stdin.readline().rstrip('\n'))
recur(maps, 0, 0, size)
print(''.join(result))
solution()
6. 후기
c++로 작성이 필요하거나 도움이 필요하시면 댓글을 작성해주세요.!! 기록용이라 설명이 자세하지 않습니다.
This post is licensed under CC BY 4.0 by the author.