💡 Codeing Test/백준

백준 3085 :: 사탕 게임 (python)

밈98 2023. 1. 24. 08:06
문제

https://www.acmicpc.net/problem/3085

 

3085번: 사탕 게임

예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다.

www.acmicpc.net

분류
  • 구현
  • 부르트포스 알고리즘
나의 풀이
import sys
input = sys.stdin.readline


def check(arr):
    n=len(arr)
    answer =1
    for i in range(n):
        cnt =1
        for j in range(1,n):
            if arr[i][j] == arr[i][j-1]:
                cnt +=1
            else:
                cnt=1

            if cnt > answer:
                answer =cnt
        cnt=1
        for j in range(1,n):
            if arr[j][i] == arr[j-1][i]:
                cnt+=1
            else:
                cnt=1
            if cnt>answer:
                answer = cnt

    return answer


n = int(input())
arr = [list(input()) for _ in range(n)]
answer =0
for i in range(n):
    for j in range(n):
        if j+1 <n:
            arr[i][j],arr[i][j+1] = arr[i][j+1],arr[i][j]
            temp =check(arr)

            if temp>answer:
                answer=temp

            arr[i][j],arr[i][j+1] = arr[i][j+1],arr[i][j]

        if i+1 <n:
            arr[i][j], arr[i+1][j] = arr[i+1][j], arr[i][j]
            temp = check(arr)

            if temp > answer:
                answer = temp

            arr[i][j], arr[i + 1][j] = arr[i + 1][j], arr[i][j]

print(answer)

해결법 : 모든 경우를 코드로 짜주면 된다