728x90
https://www.acmicpc.net/problem/3085
n = int(input())
graph = [ list(input()) for _ in range(n) ]
answer = 0
def count(graph):
max_value = 1
for i in range(n):
cnt = 1
for j in range(1, n):
if graph[i][j] == graph[i][j-1]: #5
cnt += 1
else:
cnt = 1
max_value = max(max_value, cnt)
cnt = 1
for j in range(1, n):
if graph[j][i] == graph[j-1][i]: #6
cnt += 1
else:
cnt = 1
max_value = max(max_value, cnt)
return max_value
for i in range(n):
for j in range(n):
if j + 1 < n: #1
graph[i][j], graph[i][j+1] = graph[i][j+1], graph[i][j]
tmp = count(graph) #2
answer = max(answer, tmp)
graph[i][j], graph[i][j+1] = graph[i][j+1], graph[i][j]
if i + 1 < n: #3
graph[i][j], graph[i+1][j] = graph[i+1][j], graph[i][j]
tmp = count(graph)
answer = max(answer, tmp) #4
graph[i][j], graph[i+1][j] = graph[i+1][j], graph[i][j]
print(answer)
#1 : 열 비교
#2 : 오른쪽 원소와 바꿔보고 count함수 실행 최대값 answer에 저장
#3 : 행 비교
#4 : 아래쪽 원소와 바꿔보고 count함수 실행 최대값 answer에 저장
#5 : j를 1부터 시작해서 왼쪽 왼소와 같은지 비교하고 연속적으로 같으면 cnt값 계속 +1
#6 : 위쪽 원소와 같은지 비교하고 연속적으로 같으면 cnt값 계속 +1 그래서 graph[j-1][i]로 비교
728x90
'[Coding Test] > [백준]' 카테고리의 다른 글
[백준] 1107 파이썬(python) : 리모컨 (0) | 2022.07.16 |
---|---|
[백준] 1476 파이썬(python) : 날짜 계산 (0) | 2022.07.16 |
[백준] 2309 파이썬(python) : 일곱 난쟁이 (0) | 2022.07.16 |
[백준] 5430 파이썬(python) : AC - (★) (0) | 2022.07.15 |
[백준] 1021 파이썬(python) : 회전하는 큐 (0) | 2022.07.15 |