[백준] 1051번 숫자 정사각형

거북이·2023년 1월 13일
0

백준[실버4]

목록 보기
38/91
post-thumbnail

💡문제접근

  • 전에 풀었던 [체스판 다시 칠하기]문제와 비슷하다고 생각해서 바로 삼중 반복문을 떠올릴 수 있었다.
  • 인덱스 에러를 많이 출력했고 종이에 적어가면서 거듭 수정하면서 문제를 힘겹게 풀었다.

💡코드(메모리 : 30624KB, 시간 : 64ms)

N, M = map(int, input().split())
square = []
for _ in range(N):
    square.append(list(input()))

result = []
for i in range(N):  # 세로
    for j in range(M):  # 가로
        for t in range(min(N, M)):
            # 세로의 길이는 N보다 작으면서 가로의 길이는 M보다 작으면서 모든 꼭짓점의 값이 같다면?
            if i + t < N and j + t < M and square[i][j] == square[i+t][j] == square[i][j+t] == square[i+t][j+t]:
                result.append((t+1)**2)
print(max(result))

💡소요시간 : 40m

0개의 댓글