티스토리 뷰
문제 링크
https://algospot.com/judge/problem/read/QUADTREE
algospot.com :: QUADTREE
쿼드 트리 뒤집기 문제 정보 문제 대량의 좌표 데이터를 메모리 안에 압축해 저장하기 위해 사용하는 여러 기법 중 쿼드 트리(quad tree)란 것이 있습니다. 주어진 공간을 항상 4개로 분할해 재귀적으로 표현하기 때문에 쿼드 트리라는 이름이 붙었는데, 이의 유명한 사용처 중 하나는 검은 색과 흰 색밖에 없는 흑백 그림을 압축해 표현하는 것입니다. 쿼드 트리는 2N × 2N 크기의 흑백 그림을 다음과 같은 과정을 거쳐 문자열로 압축합니다. 이 그림의 모든
algospot.com
흑, 백으로 표시된 쿼드트리를 상하로 반전하여 출력해주는 문제입니다.
쿼드트리는 4분할로 나눠져있는 정사각형의 형태로 분할된 정사각형도 마찬가지로 4분할로 나뉠 수 있습니다.
따라서 분할된 각 부분을 재귀호출하여 계산하고 마지막에 결과를 합칠 수 있습니다.
쿼드트리는 문자열로 표현이 되고 검은 색은 b, 흰 색은 w로 표시합니다.
그리고 큰사각형의 4 픽셀이 모두 같은 색이 아닐 경우에는 x로 시작하고 내부 색깔에 따라 이어집니다.
사각형의 전체 색깔이 같으면 해당 문자를 반환합니다.
그렇지않으면 사각형을 4분할하여 각 분할된 사각형을 다시 재귀호출하여 분할된 사각형의 전체 색깔이 같은지를 다시 확인합니다.
이러한 방식으로 사각형의 전체 색깔이 같을 때 까지 4분할로 재귀호출하고 색깔이 같으면 문자를 반환하여 합쳐야 합니다.
구현 코드
'Coding Test > 알고스팟' 카테고리의 다른 글
[C++] 알고스팟/분할정복 - 팬미팅 (0) | 2020.08.09 |
---|---|
[C++] 알고스팟/분할정복 - 울타리 잘라내기 (0) | 2020.03.31 |
[C++] 알고스팟/비트마스크 - 졸업 학기 (0) | 2020.03.29 |
[C++] 알고스팟/완전탐색 - Synchronizing Clocks (0) | 2020.01.18 |
[C++] 알고스팟/완전탐색 - 게임판 덮기 (0) | 2020.01.11 |
- Total
- Today
- Yesterday
- 알고스팟
- HDFS
- Jaeha's Safe
- 삼각형 위의 최대 경로 수 세기
- python
- HiveQL
- pyspark
- 2225
- 백준
- hive
- 두니발 박사의 탈옥
- import
- Django
- 합친 lis
- 하이브
- microwaving lunch boxes
- 완전탐색
- 하둡
- Sqoop
- 출전 순서 정하기
- 코딩인터뷰 완전분석
- 분할정복
- Hadoop
- 외발 뛰기
- 팰린드롬 구하기
- 삼각형 위의 최대 경로
- 배열과 문자열
- C++
- 종만북
- 스파크
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |