본문 바로가기
코딩테스트 파이썬/파이썬 프로그래머스 2단계

쿼드압축 후 개수 세기

by 세용용용용 2023. 5. 23.

나의 코드

def solution(arr):
    answer = [0,0]

    #압축 재귀함수
    def arr_zip(x,y,len):
        #첫번째값
        first_value = arr[x][y]

        for i in range(x,x+len):
            for j in range(y,y+len):
                #첫번쨰 값이랑 압축 범위 값을 이중for문
                #돌렸을떄 같지 않으면
                #범위 줄여서 다시 압축
                if arr[i][j] != first_value:
                    new_len = len//2
                    arr_zip(x, y, new_len)
                    arr_zip(x, y+new_len, new_len)
                    arr_zip(x+new_len, y, new_len)
                    arr_zip(x+new_len, y+new_len, new_len)
                    return
           
        answer[first_value]+=1
    arr_zip(0,0,len(arr))
    print(answer)
    return answer
solution([[1,1,0,0],
          [1,0,0,0],
          [1,0,0,1],
          [1,1,1,1]])

'코딩테스트 파이썬 > 파이썬 프로그래머스 2단계' 카테고리의 다른 글

예상 대진표  (0) 2023.05.23
구명보트  (0) 2023.05.23
카펫  (0) 2023.05.23
영어 끝말잇기  (0) 2023.05.23
짝지어 제거하기  (0) 2023.05.23