[알고리즘] 프로그래머스 - 가장 긴 팰린드롬

June·2021년 2월 24일
0

알고리즘

목록 보기
89/260

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

내 풀이

def solution(s):

    def expand(left, right):
        while left >= 0 and right < len(s) and s[left] == s[right]:
            left -= 1
            right += 1
        return s[left+1 : right]

    if len(s) < 2 or s == s[::-1]:
        return len(s)

    result = ''
    for i in range(0, len(s)):
        result = max(result, expand(i, i+1), expand(i, i+2), key = len)

    return len(result)

[알고리즘] 가장 긴 팰린드롬 부분 문자열
파이썬 알고리즘 인터뷰 책에 나왔던 리트코드 문제와 완전히 동일하다.

다른 사람 풀이

def longest_palindrom(s):
  # 함수를 완성하세요
  return len(s) if s[::-1] == s else max(longest_palindrom(s[:-1]), longest_palindrom(s[1:]))

0개의 댓글