https://www.acmicpc.net/problem/1051
브루트포스 알고리즘 문제로
브루트 포스는 "Brute Force", 즉 무식한 강제(?)라고 직역할 수 있습니다.
그리디 알고리즘과 다르게 완전 탐색으로 BFS, DFS,이분탐색처럼 모든 노드를 탐색하는 방법입니다.
그러므로 이 문제에서는 직사각형의 꼭짓점을 모두 탐색하도록 알고리즘을 구현하면 됩니다.
파이썬 코드
import sys
input = sys.stdin.readline
N, M = map(int, input().split())
rec=[]
for _ in range(N):
rec.append(list(input()))
search = min(M,N)
pointer = 0
for i in range(N):
for j in range(M):
for k in range(search):
if (i+k)<N and (j+k)<M:
if rec[i][j]==rec[i][j+k] and rec[i][j]==rec[i+k][j] and rec[i][j]==rec[i+k][j+k]:
if pointer < k:
pointer = k
print((pointer+1)*(pointer+1))
'알고리즘 > 백준(BOJ)' 카테고리의 다른 글
[백준/알고리즘]#11652: 카드 [파이썬(python)] (0) | 2021.09.27 |
---|---|
[백준/알고리즘]#2331: 반복수열 [파이썬(python)/수학] (0) | 2021.09.27 |
[백준/알고리즘]#10816: 숫자 카드 2 [해쉬] (0) | 2021.09.24 |
[백준/알고리즘]#2908: 상수 [수학/파이썬(python)/BOJ] (0) | 2021.09.23 |
[백준/알고리즘]#1152: 단어의 개수 [문자열/파이썬(python)/BOJ] (0) | 2021.09.23 |