반응형
https://algospot.com/judge/problem/read/QUADTREE
algospot.com :: QUADTREE
쿼드 트리 뒤집기 문제 정보 문제 대량의 좌표 데이터를 메모리 안에 압축해 저장하기 위해 사용하는 여러 기법 중 쿼드 트리(quad tree)란 것이 있습니다. 주어진 공간을 항상 4개로 분할해 재귀적
algospot.com
해설
분할정복을 이용한다. 각 구역은 4조각으로 나누면서 재귀를 호출한다. 재귀를 호출하면서 이미지를 상하 뒤집는다
서적에 나온대로 string을 매번 인덱스를 계산하는게 아니라 반복자를 이용하여 필요한 만큼 가져다 쓴다
lt : left top
rt : right top
lb : left bottom
rb : right bottom
def decompress(it):
char = next(it, None)
if char == None:
return
if char == 'b' or char == 'w':
return char
lt = decompress(it)
rt = decompress(it)
lb = decompress(it)
rb = decompress(it)
return 'x'+lb+rb+lt+rt
import sys
c = int(input().rstrip())
for _ in range(c):
string = sys.stdin.readline().rstrip()
slist = list(string)
it = iter(slist)
answer = decompress(it)
print(answer)
반응형
'Python > 알고리즘문제' 카테고리의 다른 글
[백준 2592] 부등호 (0) | 2023.04.06 |
---|---|
[프로그래머스] 연속 펄스 부분 수열의 합 (0) | 2023.03.08 |
[프로그래머스] 사칙연산 (0) | 2022.12.28 |
[백준 2042] 구간 합 구하기 (0) | 2022.12.27 |
[프로그래머스] 등대 (0) | 2022.12.26 |
댓글