[SWEA] 1216. [S/W 문제해결 기본] 3일차 - 회문2

야금야금 공부·2023년 4월 29일
0

SWEA

목록 보기
8/43
post-thumbnail

1216. [S/W 문제해결 기본] 3일차 - 회문2


문제 풀이

  • 회문1에서 조금만 수정하면 풀이가 가능한 문제
  • 처음에 계속 에러가 발생하길래 메모리 문제인가 했는데, 내가 deque선언을 지우고 제출해서 그런 것이었다. 바보바보..
import sys
from collections import deque

sys.stdin = open("input.txt", "r")

for i in range(1, 11):

    n = int(input())
    arr = [list(input()) for _ in range(100)]
    queue = deque()

    def length(x, y, k1, k2):
        global sen, ans
        queue.append([x, y])

        while queue:
            a, b = queue.popleft()
            sen += arr[a][b]
            dx, dy = a + k1, b + k2

            if sen == sen[::-1]:
                ans = max(ans, len(sen))

            if 0 <= dx < 100 and 0 <= dy < 100:
                queue.append([dx, dy])

    ans = 0
    for j in range(100):
        for k in range(100):
            sen = ""
            length(j, k, 0, 1)
            sen = ""
            length(j, k, 1, 0)


    print(f"#{i} {ans}")

0개의 댓글