풀이
- 3중 for문을 사용해서 문제를 해결하고자 했으며
- n은 범위, m은 가로, x는 n 범위에 따른 세로로 생각하여 문제를 해결하고자 했으며
- try, except를 사용한 이유는 mtx의 범위를 벗어날 경우에 break를 걸기위해 사용
- 그리고 더 빠른 제출을 위한 조건분기로는
- 큰 범위부터 찾는 것, 찾았다면 해당 for문 멈추기와 같은 것들이 있지만
- 그렇게까지는 하지 않아도 될 것 같아 그냥 제출
import sys
input = sys.stdin.readline
n,m = map(int,input().split())
mtx = [list(map(int,input().rstrip("\n"))) for _ in range(n)]
result = 0
for i in range(n):
for j in range(m):
for x in range(n-i):
try:
if mtx[i][j] == mtx[i][j+x] == mtx[i+x][j] == mtx[i+x][j+x]: result = max(result, (x+1)**2)
except: break
print(result)
'알고리즘' 카테고리의 다른 글
[백준, 자바, 1059번] 좋은 구간 (0) | 2023.12.21 |
---|---|
[백준, 자바, 1051번] 숫자 정사각형 (1) | 2023.12.20 |
[백준, 파이썬, 1021번] 회전하는 큐 (0) | 2023.12.19 |
[백준, 자바, 1021번] 회전하는 큐 (0) | 2023.12.19 |
[백준, 자바, 1049번] 기타줄 (0) | 2023.12.18 |