세용용용용 2023. 10. 5. 20:54

코딩테스트 연습 - 가장 큰 정사각형 찾기 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

나의 코드

def solution(board):
    answer = 0
    row = len(board)
    col = len(board[0])

    # 애초에 넓이가 1인 정사각형인경우 케이스를 만들어 줘야됨
    if len(board) == 1 and len(board[0])==1 and board[0][0]==1:
        return 1

    for i in range(row-1):
        for j in range(col-1):
            if min(board[i][j],board[i+1][j], board[i][j+1], board[i+1][j+1]) != 0:
                board[i+1][j+1] = min(board[i][j],board[i+1][j], board[i][j+1])+1
            answer = max(answer, board[i+1][j+1]**2)
   
    #print(board)
    return answer
solution([[0,1,1,1],
          [1,1,1,1],
          [1,1,1,1],
          [0,0,1,0]])