풀이 과정

  1. 가장 긴 길이부터 검사
  2. 문자열 맨 앞에서부터 구간을 나눠가면서 팰린드롬 검사
    • 뒤집었을때와 같아야 하므로 s == s[::-1]로 검사
  3. 팰린드롬이라면 바로 해당 length를 리턴해주면 된다.

소스 코드


def solution(s):
    answer = 1

    for length in range(len(s), 1, -1):
        for i in range(len(s)-length+1):
            if s[i:i+length] == (s[i:i+length])[::-1]:
                return length

    return answer

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

'알고리즘[Python] > 프로그래머스' 카테고리의 다른 글

[ Lv 3 ] 매칭 점수  (0) 2021.07.21
[ Lv 3 ] 단속카메라  (0) 2021.07.21
[ Lv 3 ] [ 1차 ] 셔틀버스  (0) 2021.07.20
[ Lv 3 ] [ 1차 ] 추석 트래픽  (0) 2021.07.19
[ Lv 3 ] 광고 삽입  (0) 2021.07.19

+ Recent posts