[파이썬] 백준 1992 : 쿼드트리 (실버1)
1992번: 쿼드트리
첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또
www.acmicpc.net
문제
풀이
0.방향성 생각
탐색하면서 기준점이랑 다른게 하나라도 나올경우 재귀 호출한다.
괄호의 경우에는 현재 탐색하는 영역에서 기준점과 다른게 하나라도 나올경우 괄호를 열고 탐색하고 괄호를 닫아준다.
0.방향성 생각
1. 전체코드
import sys
input = sys.stdin.readline
n = int(input())
arr = []
answer = ''
for i in range(n):
arr.append(list(input()))
def solution(x,y,N) :
global answer
color = arr[y][x]
d = N//2
for i in range(y,y+N) :
for j in range(x,x+N) :
if color != arr[i][j] :
answer += '('
solution(x,y,d)
solution(x+d,y,d)
solution(x,y+d,d)
solution(x+d,y+d,d)
answer += ')'
return
answer += color
solution(0,0,n)
print(answer)
코멘트
괄호가 언제 열리고 닫히는지만 잘 알면 쉽게 풀 수 있다.
'Algorithm > etc' 카테고리의 다른 글
[파이썬] 백준 20529: 가장 가까운 세 사람의 심리적 거리 (실버1) (0) | 2023.06.21 |
---|---|
[파이썬] 백준 1541 : 잃어버린 괄호 (실버2) (0) | 2023.06.20 |
[파이썬] 백준 1074 : Z (실버1) (0) | 2023.06.05 |
[파이썬] 백준 1780 : 종이의 개수 (실버2) (0) | 2023.06.05 |
[파이썬] 백준 2630 : 색종이 만들기 (실버2) (0) | 2023.06.05 |
[파이썬] 백준 1002 : 터렛 (실버3) (0) | 2023.05.30 |
[파이썬] 백준 3273 : 두 수의 합 (실버3) (0) | 2023.05.27 |
댓글