팰린드롬인지 찾는 방법은 문제에서 힌트로 다 줬다. recursion의 횟수만 구하면 되는 문제이다. 이 방법을 2가지로 풀어보았다.
import sys
input = sys.stdin.readline
T = int(input())
def recursion(s, l, r):
global count
count += 1
if l >= r:
return 1
elif s[l] != s[r]:
return 0
else:
return recursion(s, l+1, r-1)
def isPalindrome(s):
return recursion(s, 0, len(s)-1)
for _ in range(T):
count = 0
print(isPalindrome(input().strip()), count)
import sys
input = sys.stdin.readline
T = int(input())
def recursion(s, l, r, count):
count += 1
if l >= r:
return 1, count
elif s[l] != s[r]:
return 0, count
else:
return recursion(s, l+1, r-1, count)
def isPalindrome(s):
count = 0
return recursion(s, 0, len(s)-1, count)
for _ in range(T):
print(*isPalindrome(input().strip()))