문제
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)
해결법 : 모든 경우를 코드로 짜주면 된다
'💡 Codeing Test > 백준' 카테고리의 다른 글
백준 11659) 구간 합 구하기4 (JAVA) (0) | 2023.03.05 |
---|---|
백준 11720) 숫자의 합 (JAVA) (0) | 2023.03.05 |
백준 2805번 :: 나무 자르기 (python) (0) | 2023.01.24 |
백준 15903번 :: 카드 합체 놀이 (python) (0) | 2023.01.17 |
백준 5545번 :: 최고의 피자 (python) (1) | 2023.01.17 |