본문 바로가기
problem solving

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

by ormgm 2019. 9. 27.

import copy

for t in range(10):

    n = input()

    arr = []

    ans = 0

 

    for i in range(100):

        arr.append(str(input()))

 

    for i in range(100):

        for j in range(99):

            equal_r = arr[i][j] #가로

            equal_c = arr[j][i] #세로

            str_r = arr[i][j]

            str_c = arr[j][i]

            for k in range(j+1,100):

                str_r = str_r + arr[i][k] #가로 문자 추가

 

                str_c = str_c + arr[k][i] # 세로문자 추가

 

                if equal_r == arr[i][k]: #가로 회문 검사

                    lenn = len(str_r)

                    if ans < lenn:

                        a = list(str_r)

                        b = copy.deepcopy(a)

                        a.reverse()

                        if a == b: ans = lenn

 

                if equal_c == arr[k][i]:  # 가로 회문 검사

                    lenn = len(str_c)

                    if ans < lenn:

                        a = list(str_c)

                        b = copy.deepcopy(a)

                        a.reverse()

                        if a == b: ans = lenn

    print('#%d'%(t+1),ans)

댓글