본문 바로가기
BEB/algorithm

LPS

by ddanss 2022. 11. 21.
728x90

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

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

 

라고 길게 말했는데

구현은 그냥 prefix와 suffix가 같은걸 출력하면 된다

const LPS = (str) => {
  let res = '';
  
  for (let i = 0; i <= str.length / 2; i += 1) {
    let prefix = str.slice(0, i);
    let suffix = str.slice(str.length - i);
    
    if (prefix === suffix) {
      res = prefix;
    }
  };
  return res.length;
};

레퍼런스

const LPS = (str) => {
  const result = str.match(/^(\w*).*\1$/);
  return result[1].length;
};
//음...아직 뭔소린지 모르겠다...
반응형

'BEB > algorithm' 카테고리의 다른 글

[JavaScript] 배열 회전 (90도,180도,270도)  (0) 2022.11.24
머지소트 병합정렬  (1) 2022.11.22
javascript quicksort  (0) 2022.11.16
Toy15 Prime Number  (0) 2022.11.15
toy 12 treeBFS  (0) 2022.11.10

댓글