문제풀이/백준(Boj) 문제풀이
[백준][분할 정복] 1992. 쿼드트리 (파이썬/Python)
얄루몬
2021. 10. 4. 01:03
n = int(input())
m = [list(map(int, input())) for _ in range(n)]
def quadtree(x, y, n):
if n == 1:
return str(m[x][y])
result = []
for i in range(x, x + n):
for j in range(y, y + n):
# 색이 다르면, 다시 분할진행
if m[i][j] != m[x][y]:
result.append('(')
result.extend(quadtree(x, y, n//2))
result.extend(quadtree(x, y + n//2, n//2))
result.extend(quadtree(x + n//2, y, n//2))
result.extend(quadtree(x + n//2, y + n//2, n//2))
result.append(')')
return result
return str(m[x][y])
print(''.join(quadtree(0, 0, n)))