본문 바로가기
Python3/프로그래머스

2022.06.18 [프로그래머스] (python 파이썬) 가장 긴 팰린드롬

by ian's coding 2022. 6. 18.
728x90
반응형

 

https://programmers.co.kr/learn/courses/30/lessons/12904

 

코딩테스트 연습 - 가장 긴 팰린드롬

앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들

programmers.co.kr

 


풀이

이 문제는 s의 부분문자열 중, 가장 긴 팰린드롬의 문자열 길이를 구하는 문제이다.

그래서 우선 부분 문자열의 탐색범위를 문자열 s의 길이부터 1까지 감소하며 확인했다.

3번열의 for문 끝 범위를 len(s)-i+1로 해준 이유는 j부터 i개의 문자열을 확인할 때, 인덱스 에러를 피하기 위해서 이다.

 

1
2
3
4
5
6
def solution(s):
    for i in range(len(s),0,-1):
        for j in range(0,len(s)-i+1):
            str=s[j:j+i]
            if str[::-1]==str:
                return len(str)
cs

 

 

 

 

728x90
반응형

댓글