ํ์ด
์๋ค๊ฐ ๋๊ฐ์ ๋ฌธ์์ด์ ํ๋ฌธ์ด๋ผ๊ณ ํ๋๋ฐ ํ๊ธ์๋ฅผ ์ ์ธํ์ ๋ ํ๋ฌธ์ ๋ง๋ค์ด ๋ด๋ ๋ฌธ์์ด์ ์ ์ฌํ๋ฌธ์ด๋ผ๊ณ ํ๋ค.
์ด๋ ์ฃผ์ด์ง ๋ฌธ์์ด์ด ํ๋ฌธ์ธ์ง, ์ ์ฌํ๋ฌธ์ธ์ง, ๊ทธ ์ธ์ธ์ง๋ฅผ ํ๋จํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ง์ผํ๋ค.
์ฒ์์๋ ๋ฆฌ์คํธ ์ฌ๋ผ์ด์ฑ์ ํตํด ๊ฐ ์๋ฆฌ์๋ฅผ ์ ์ธํ์ฌ ์๋ก์ด ๋ฌธ์์ด์ ๋ง๋ค์ด๋ธ ํ ๋น๊ตํด๋ณด๋ ๋ฐฉ์์ ์ ํํ์๋ค.
ํ์ง๋ง ๋ฌธ์์ด ์ต๋๊ธธ์ด๊ฐ 100,000 ์ด๋ค ๋ณด๋ ์ญ์๋ ์๊ฐ์ด๊ณผ๊ฐ ์ผ์ด๋ฌ๋ค.
๊ทธ๋์ ์ ํํ ๊ฒ์ด ๋์นญ์์น์ ๋ฌธ์๋ฅผ ๊ฐ๊ฐ ๋น๊ตํ๋ค๊ฐ ๋ค๋ฅธ ๋ฌธ์์ด์ด ๋์์ ๊ฒฝ์ฐ ๋งจ ์ ํน์ ๋งจ ๋ ๋ฌธ์๋ฅผ ์ ์ธํ ์ฑ๋ก ๋น๊ตํด๋ณด๋ ๊ฒ์ด๋ค.
์์๋ฅผ ๋ค์ด๋ณด์
โsummuusโ ๋ผ๋ ๋ฌธ์์ด์ด ์๋ค.
01234567
summuus
0 ๊ณผ 7 ์ s ๋ก ๊ฐ๋ค.
1 ๊ณผ 6 ์ u ๋ก ๊ฐ๋ค.
2 ์ 5 ๋ m, u ๋ก ๋ค๋ฅด๋ค.
์ด๋ โmmuโ ๋ฅผ ๋ง๋ค์ด 0๋ฒ์งธ ์๋ฆฌ๋ 2๋ฒ์งธ ์๋ฆฌ๋ฅผ ์ ์ธํ์ฌ ๋น๊ตํ๋ค.
์ด ๊ฒฝ์ฐ 2๋ฒ์งธ ์๋ฆฌ์ธ โuโ ๋ฅผ ์ ์ธํ๋ฉด โmmโ ์ด ๋๊ธฐ ๋๋ฌธ์ ์ ์ฌํ๋ฌธ์ด๋ผ๋ ๊ฒ์ ์ ์ ์๋ค.
์์ ์ค๋ช ๋ ๋ ผ๋ฆฌ๋ฅผ isFalse ํจ์๋ฅผ ํตํด lFalse ์ rFalse ๊ฐ์ ๋ฐ์๋ธ ํ ์ถ๋ ฅ๊ฐ์ ๋ง์ถฐ ์ถ๋ ฅํด์ฃผ๋ฉด๋๋ค.
์์ค์ฝ๋
# ํ๋ฌธ
import sys
input = sys.stdin.readline
def isFalse(s, l, r):
while l < r:
if s[l] == s[r]:
l += 1
r -= 1
else:
return False
return True
def isPalin(s, l, r):
while l < r:
if s[l] == s[r]:
l += 1
r -= 1
else:
lFalse = isFalse(s, l+1, r)
rFalse = isFalse(s, l, r-1)
if lFalse or rFalse:
return 1
else:
return 2
return 0
t = int(input())
for _ in range(t):
s = input().rstrip()
l, r = 0, len(s)-1
print(isPalin(s, l, r))