본문 바로가기
Problem Solving/SWEA

[Python] 5678. 팰린드롬

by 부르르 2021. 4. 4.

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRrK7KhO4DFAUo

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com


재귀함수 호출을 이용하면 쉽게 구현 가능하다.

문자열 길이가 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

댓글