Menu
CoddyTech

Longest Palindromic Substring

소문자 영어 문자로 이루어진 문자열 s가 주어집니다. 가장 긴 회문 부분 문자열을 반환하세요. 회문 부분 문자열이란 앞에서 읽어도 뒤에서 읽어도 똑같은 연속된 문자들의 가장 긴 구간입니다. 가장 긴 길이를 공유하는 부분 문자열이 여러 개라면 가장 왼쪽에서 시작하는 부분 문자열을 반환하세요.

함수

longestPalindrome(s: string) → string
sstring
검색할 소문자 문자열
반환값string
s에서 가장 긴 회문 부분 문자열. 가장 긴 회문 부분 문자열이 여러 개라면 가장 왼쪽에 있는 것

제약 조건

  • 1 ≤ s.length ≤ 2000
  • s에는 소문자 영어 문자만 들어 있습니다.
  • 가장 긴 길이의 회문이 여러 개이면, 시작 인덱스가 가장 작은 회문이 정답입니다.

예제

입력
s = "bananas"
출력
"anana"
설명
"anana"는 양쪽 끝에서 읽어도 같고 글자가 5개입니다. 더 긴 부분 문자열은 없습니다. "banana"는 b로 시작하고 a로 끝나며, "ananas"는 a로 시작하고 s로 끝납니다. 그리고 전체 단어는 b로 시작하고 s로 끝납니다.

lock icon제출 시 숨은 테스트 +18개

challenge icon

후속 질문

답을 O(n) 시간 내에 찾을 수 있나요?

코드 초기화
def longestPalindrome(s):
    # 여기에 코드를 작성하세요
테스트 케이스

케이스 1

케이스 2

케이스 3

입력

s = "bananas"

기대값

"anana"