본문 바로가기

⏳ 알고리즘/python 알고리즘 문제 풀이

프로그래머스 - LV3. 가장 긴 팰린드롬

팰린드롬(Panlindrome)

팰린드롬이란 "kayak", "eye"과 같이 뒤집어도 같은 문자열을 말한다.

 

문제

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

 

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

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

programmers.co.kr

 

코드

1) 경우를 나누어 비교

def solution(s):    
    maxLen = 1
    
    #경우를 나누어 비교
    for i in range(len(s)):
        if i-maxLen >= 1 and s[i-maxLen-1 : i+1] == s[i-maxLen-1:i+1][::-1]:
            maxLen += 2
            continue
        if i-maxLen >= 0 and s[i-maxLen : i+1] == s[i-maxLen:i+1][::-1]:
            maxLen += 1

    return maxLen