본문 바로가기
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

댓글