left, right 변수를 사용해서 투 포인터로 풀이
중간에 일치하지 않는 문자가 나왔을 경우
1) 해당 위치에서 왼쪽 값 제거 후, 나머지 문자가 회문인지
2) 해당 위치에서 오른쪽 값 제거 후, 나머지 문자가 회문인지 확인
1), 2)에서 회문이 아니면 (다른 문자 개수 >= 2) 일반 문자열로 처리
import sys
input = sys.stdin.readline
T = int(input())
def is_palindrome(word):
left = 0
right = len(word) - 1
while left < right:
if word[left] != word[right]:
rm_left = word[left+1:right+1]
if rm_left == rm_left[::-1]:
return 1
rm_right = word[left:right]
if rm_right == rm_right[::-1]:
return 1
return 2
left += 1
right -= 1
return 0
for _ in range(T):
word = input().rstrip()
diff = is_palindrome(word)
print(diff)