본문 바로가기
Programming/Programmers

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

by 데이터현 2021. 11. 12.

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

 

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

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

programmers.co.kr

for range와 list indexing을 정확하게 이해하게 된 문제다.

 

나의 풀이

def palindrome(s):
    if len(s)%2 ==0:
        return True if s[:len(s)//2] == s[len(s)-1:len(s)//2-1:-1] else False
    else:
        return True if s[:len(s)//2] == s[len(s)-1:len(s)//2:-1] else False

def solution(s):
    length = len(s)
    for i in range(length,1,-1):
        print(i)
        for j in range(length-i+1):
            if palindrome(s[j:j+i]):
                return i
    return 1

 

댓글