펠린드롬 찾는 문제. 처음에 회문 1개인줄 모르고 다찾는 구조로 짰다가 급하게 수정..
import sys
input = sys.stdin.readline
def find_palindrome(N,M,sentences):
for i in range(N):
for j in range(N-M+1):
if sentences[i][j] == sentences[i][j+M-1]:
left = j
right = j+M-1
while sentences[i][left] == sentences[i][right] and left <= right:
left += 1
right -= 1
if left < right:
continue
else:
return sentences[i][j:j+M]
for test in range(1,int(input())+1):
N, M = map(int,input().split())
palindrome = list(list(input().rstrip()) for _ in range(N))
result1 = find_palindrome(N,M,palindrome)
if result1:
print(f"#{test} {''.join(result1)}")
else:
reverse_palindrome = list(zip(*palindrome))
result2 = find_palindrome(N,M,reverse_palindrome)
print(f"#{test} {''.join(result2)}")
'practivceAlgorithm > swexpertacademy' 카테고리의 다른 글
[SWEA][Python] 4866 괄호검사 (0) | 2021.08.15 |
---|---|
[SWEA][Python] 4864 문자열 비교 (0) | 2021.08.15 |
[SWEA][Python] 4865 글자수 (0) | 2021.08.15 |
[SWEA][Python] 1966 숫자를 정렬하자 (0) | 2021.08.12 |
[SWEA][Python] 1979 어디에 단어가 들어갈 수 있을까? (0) | 2021.08.12 |