티스토리 뷰

https://algospot.com/judge/problem/read/QUADTREE


[ 문제 요약 ] 

- 오직 검정색일 때는 b, 오직 흰색일 때는 w, 두 색이 섞여 있는 경우는 x로 출력됩니다.

- x인 경우에는 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래 순서로... 즉, 4등분을해서 x, b, w중 판단하게 됩니다.

- 위의 그림을 예로들면 처음 사각형은 w,b로 섞여 있기 때문에 x로 출력되고 오른쪽 위를 판단하게 됩니다. 오른쪽 위 사각형은 또 wwwb로 나눠지기 때문에 x로 출력되고.. 오른쪽 위까지 판단한 결과는 x(제일 큰 사각형)xwwwb(왼쪽 위 사각형).. 즉 xxwwwb가 출력됩니다.

- 이런 방식으로 출력하게 되면 x(제일 큰 사각형)xwwwb(왼쪽 위)xwxwbbbww(오른쪽위)xxxwwbbbwwwwb(왼쪽 아래)b(오른쪽 아래)로 xwwwbxwxwbbbwwxxxwwbbbwwwwbb가 출력되게 됩니다!

- 이러한 사각형을 상하로 뒤집은 사각형을 출력하는 것이 최종 문제 입니다.


[ 풀이 과정 ] 

- 처음에 문제를 이해하는 데 어려움을 겪었을 것이라 생각합니다ㅎ(저 또한 꽤 오랜시간을 붙잡고 있었던 것 같아요 ㅠ)

- 저는 문제를 푸는데에도 오랜 시간이 걸렸습니다ㅠㅠ ('알고리즘문제해결전략'이라는 책을 참고해서 풀었어요 ㅠㅠ)

- 문제 해결의 핵심은 재귀에 대한 이해라고 생각합니다. 또한, 압축을 풀려는 데에 집중하지 말고 풀지 않은 채로 해결하도록 노력해야 합니다!

 

[ 소스 코드 ]

- 소스코드 자체는 전혀 어렵지 않았던 것 같아요 ㅠㅠ 저는 문제 해결 방법을 알아내는 것이 어려웠습니다 ㅠㅠ