[프로그래머스] 가장 긴 팰린드롬

DongHyeon·2023년 10월 22일
0

가장 긴 팰린드롬

Programmers

문제 설명

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

제한 사항

  • 문자열 s의 길이 : 2,500 이하의 자연수
  • 문자열 s는 알파벳 소문자로만 구성

작성 코드

def solution(s):
    answer = 1 # 기본값은 1 (한자리 문자는 그대로 한자리를 반환하기 때문)
    # 문자열의 길이 만큼 반복을 하는데, (start)
    for i in range(0,len(s)):
        # 글자수의 마지막부터 start까지의 idx를 반복하며 (end)
        for j in range(len(s),i+1,-1):
            k=s[i:j] # start와 end길이를 지정해
            if k[:]==k[::-1]: #역순이 되면
                answer=max(answer,j-i) # 최대 길이 리턴
    return answer
profile
I'm Free!

0개의 댓글