https://school.programmers.co.kr/learn/courses/30/lessons/68936
재귀 함수를 이용해서 풀이
만약 숫자가 다르면 1/4로 사각형을 구분해서 재귀함수를 돌린다.
def solution(arr):
global answer
answer = [0,0]
quad(arr, answer, len(arr))
return answer
def quad(arr, ans, n):
x,y,now = ans[0], ans[1], arr[ans[0]][ans[1]]
for i in range(n):
for j in range(n):
if arr[x+i][y+j] != now:
quad(arr, [x, y], n // 2) # 나눠진 왼쪽 위
quad(arr, [x, y+n//2], n // 2) # 나눠진 왼쪽 아래
quad(arr, [x+n//2, y], n // 2) # 나눠진 오른쪽 위
quad(arr, [x+n//2, y+n//2], n // 2) # 나눠진 오른쪽 아래
return
answer[now] += 1