본문 바로가기

프로그래머스 퀴즈(Python)/level 3

23.02.23 파이썬 코딩 퀴즈#168 가장 긴 팰린드롬 (프로그래머스 스쿨)

이번 문제는 가장 긴 팰린드롬 문제이다.

먼저 팰린드롬이란 앞뒤를 뒤집어도 똑같은 문자열을 의미한다.

처음 문제를 봤을땐, 그냥 슬라이싱을 이용한 단순 뒤집기 문제라고 생각했다.

하지만 중요한건 주어진 문자열 s 의 부분문자열 이란 부분이다.

즉 index 0 부터 뒤집는 것이 아닌 그 어느 위치에서든 팰린드롬이 존재할 수 있다는 뜻이다.

 

문제를 해결하기 위해 슬라이싱을 사용한 두개의 새 문자열을 만들었다.

target 은 s를 슬라이싱 한 문자열이고, substr 은 target을 반대로 뒤집은 문자열이다.

최대 길이를 구하는 문제이기에 len(target) > answer 이라는 조건을 하나더 추가해 주었다.