[Baekjoon] 1051 숫자 정사각형 python

sorzzzzy·2021년 8월 18일
0

Baekjoon Algorithm

목록 보기
41/46
post-thumbnail

🏷 문제



💡 코드

from sys import stdin

N, M = map(int, stdin.readline().split())
board = []    
for _ in range(N):
    b = list(map(int, stdin.readline().rstrip()))
    board.append(b)

# 가장 작은 정사각형 값은 1이므로 1로 초기화
res = 1
for row in range(N-1):
    for col in range(M-1):
        # 정사각형 크기를 조절
        num = 1
        while True: 
            # 범위를 벗어날 때 값을 리턴
            if (row+num) == N or (col+num) == M:
                break
            # 각 꼭짓점 숫자 확인
            if board[row][col] == board[row+num][col] and board[row][col] == board[row][col+num] and board[row][col] == board[row+num][col+num]:
                res = max(res, (num+1)*(num+1))
                # print(res)
            num += 1
print(res)


📌

비교적 간단하게 풀린다고 생각했는데 계속 틀렸다고 떠서 당황했던 문제 😂
알고보니 꼭짓점 숫자 확인하는 부분에서 인덱싱 오류가 있었다 헤헤..
HJ 쌤이 알려준 러버덕 디버깅하다가 알아냈는데 이거 참 괜찮은 방법인 거 같다👍🏻❗️

profile
Backend Developer

0개의 댓글