문제 링크
https://www.acmicpc.net/problem/1992
2630번과 유사한 문제이다.
하지만 2630번처럼 반복문 안에서 프린팅할 문자열 “(“나 “)”를 추가하면 불필요한 경우에도 괄호가 생기기 때문에 반복문 밖에서 추가해주어야 한다,
출력에 신경써서 풀어야한다.
정답 코드
N = int(input())
tree = [list(map(int,input()))for i in range(N)]
def solution(x,y,N):
number = tree[x][y]
for i in range(x,x+N):
for j in range(y,y+N):
if number != tree[i][j]:
number = -1
break
if number == -1:
print("(",end='')
solution(x,y,N//2)
solution(x,y+N//2,N//2)
solution(x+N//2,y,N//2)
solution(x+N//2,y+N//2,N//2)
print(")",end='')
elif number == 1:
print(1,end='')
elif number == 0:
print(0,end='')
solution(0,0,N)
728x90
'파이썬 알고리즘 문제 풀이' 카테고리의 다른 글
Baekjoon Online Judge 1629번 파이썬. 분할 정복. (0) | 2022.12.29 |
---|---|
Baekjoon Online Judge 1780번 파이썬. 분할 정복. (0) | 2022.12.27 |
Baekjoon Online Judge 2630번 파이썬. 분할정복 (0) | 2022.12.26 |
Baekjoon Online Judge 10816번 파이썬 (1) | 2022.09.26 |
Baekjoon Online Judge 10815번 파이썬 (1) | 2022.09.22 |