문제
https://www.acmicpc.net/problem/1992
코드
import sys
input=sys.stdin.readline
n=int(input())
array=[list(map(int, list(input().rstrip()))) for _ in range(n)]
result=[]
def make(n,movie):
count=0
global result
for i in range(n):
count+=sum(movie[i])
if count==0:
result.append("0")
elif count==n*n:
result.append("1")
else:
result.append("(")
temp=[movie[i][:n//2] for i in range(n//2)]
make(n//2,temp)
temp=[movie[i][n//2:] for i in range(n//2)]
make(n//2,temp)
temp=[movie[i][:n//2] for i in range(n//2,n)]
make(n//2,temp)
temp = [movie[i][n//2:] for i in range(n // 2, n)]
make(n // 2, temp)
result.append(")")
return "".join(result)
print(make(n,array))
'문제풀이 > 기타' 카테고리의 다른 글
[파이썬] [스택] 백준 15926 현욱 (0) | 2022.03.05 |
---|---|
[파이썬] [스택] 백준 2504 괄호의 값 (0) | 2022.03.04 |
[파이썬] [분할정복] 백준 2630 색종이 만들기 (0) | 2022.02.23 |
[파이썬] [Two] Pro 보석 쇼핑 (0) | 2022.02.22 |
* [파이썬] [완전탐색] Pro 소수 찾기 (0) | 2022.02.15 |