210115 - 알고리즘

jungeundelilahLEE·2021년 1월 15일
0

Daily Algorithm

목록 보기
17/19

[토이19]

LPS

문제
문자열을 입력받아 다음의 조건을 만족하는 LPS*를 찾아 그 길이를 리턴해야 합니다.

LPS: 주어진 문자열의 가장 긴 접두어이자 접미어(Longest Prefix which is also Suffix

non-overlapping: 접두어와 접미어는 서로 겹치는 부분이 없어야 합니다. 다시 말해, prefix와 suffix는 문자열의 동일한 인덱스에 위치한 문자를 요소로 가지면 안 됩니다.

입력
인자 1 : str
string 타입의 임의의 알파벳 소문자 문자열 (str.length <= 5,000,000)

출력
number 타입을 리턴해야 합니다.

주의사항
prefix(접두어)는 문자열의 첫 인덱스부터 시작하는 모든 부분 문자열을 의미합니다.
suffix(접미어)는 문자열의 마지막 인덱스부터 시작하는 모든 부분 문자열을 의미합니다.

입출력 예시

let output = LPS('abbbcc');
console.log(output); // --> 0
output = LPS('aaaa');
console.log(output); // --> 2
// prefix: str.slice(0, 2)
// suffix: str.slice(2)
// non-overlapping 조건이 없는 경우 정답은 4 입니다.

output = LPS('aaaaa');
console.log(output); // --> 2
// prefix: str.slice(0, 2)
// suffix: str.slice(3)
// non-overlapping 조건이 없는 경우 정답은 5 입니다.

try


ref


profile
delilah's journey

0개의 댓글