오류가 계속 나왔었고 계속 시도해서 풀었다. check 의 열 구하는 과정에서 for 문 안에 기호가 틀린 부분이 있었다.
import sys
from itertools import permutations
from collections import deque
def check(k):
answer = 0
for i in range(0,len(k)):
count = 1
for j in range(1,len(k[i])):
if k[i][j] == k[i][j-1]:
count+=1
else:
count = 1
if count>answer:
answer = count
for i in range(0,len(k)):
count = 1
for j in range(1,len(k[i])):
if k[j][i] == k[j-1][i]:
count+=1
else:
count = 1
if count>answer:
answer = count
return answer
n = int(sys.stdin.readline())
k = [ ]
for i in range(n):
k.append(list(sys.stdin.readline().rstrip()))
dx = [1,0]
dy = [0,-1]
# 주변 체크 하면서 바꿔보고 확인하고 answer 에 넣기
answer = [ ]
queue = deque()
queue.append([0,0])
ch = [ ]
ch.append([0,0])
for i in range(0,len(k)):
for j in range(0,len(k[i])):
x,y = i,j
for z in range(0,2):
temp_x = x + dx[z]
temp_y = y + dy[z]
if 0<=temp_x<n and 0<=temp_y<n and k[temp_x][temp_y]!=k[x][y]:
answer.append(check(k))
temp = k[x][y]
k[x][y] = k[temp_x][temp_y]
k[temp_x][temp_y] = temp
answer.append(check(k))
temp = k[x][y]
k[x][y] = k[temp_x][temp_y]
k[temp_x][temp_y] = temp
if [temp_x,temp_y] not in ch:
queue.append([temp_x,temp_y])
ch.append([temp_x,temp_y])
print(max(answer))