[Java] 쿼드압축 후 개수 세기


[Java] 쿼드압축 후 개수 세기

문제 접근법 푸는데 꽤나 오래 걸린 문제이다. 이런 류의 재귀 문제는 처음이라, 낯설었다. 문제를 읽고 나서 간단히 반 나누고, 반 나누고 ... 반복하면 될 것 같았지만, 막상 코드로 쉽게 떠오르지 않았다. 본론으로 들어가서, 내가 구상한 방법은 다음과 같다. 주어진 그래프를 확인하고, 압축 가능한지 체크한다. 만약 그렇다면 더 이상 탐색은 없다. 0 이라면 0을 1이라면 1의 개수를 카운트 한다. 주어진 그래프가 Atomic하여, 더 이상 쪼개질 수 없다면 0, 1의 개수를 카운트 한다. 네 등분하는 로직이 필요하다. 데카르트 좌표계를 떠올려보자. 2 사분면(좌측 상단)으로 재귀를 타고 들어간다. 3 사분면으로 재귀를 타고 들어간다. 1 사분면으로 재귀를 타고 들어간다. 4 사분면으로 재귀를 타고 들어간다. 4등분 하는 것을 코드로 표현하면 다음과 같다. public void dfs(int y, int x, int lastY, int lastX, int size){ ... dfs...



원문링크 : [Java] 쿼드압축 후 개수 세기