https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRrK7KhO4DFAUo
재귀함수 호출을 이용하면 쉽게 구현 가능하다.
문자열 길이가 1보다 작거나 같을 때 최대 길이를 비교해서 업데이트 후 탈출하는 것이 포인트
def pal_check(s, depth):
global max_len
if len(s) <= 1:
max_len = max(depth+len(s), max_len)
return
if s[0] == s[-1]:
pal_check(s[1:-1], depth+2)
else:
return
for tc in range(int(input())):
s = input()
max_len = 0
for i in range(len(s)):
for j in range(len(s)-1, i-1, -1):
pal_check(s[i:j+1], 0)
print("#{} {}".format(tc+1, max_len))
문제를 푸는데 도움이 된 테스트 케이스
728x90
반응형
'Problem Solving > SWEA' 카테고리의 다른 글
[Python]2616. 사업장에 흡연구역 설정하기 (0) | 2019.05.11 |
---|---|
[Python]1865. 동철이의 일 분배 (0) | 2019.05.11 |
댓글