Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 문자가 반복되는 문자열에서 문자열의 힘 찾기

<시간/>

문자열의 거듭제곱은 고유한 문자가 하나만 포함된 비어 있지 않은 부분 문자열의 최대 길이입니다.

문자열을 받아서 그 힘을 반환하는 JavaScript 함수를 작성해야 합니다.

예를 들어 -

const str = "abbcccddddeeeeedcba"

그러면 출력은 5가 되어야 합니다.

하위 문자열 "eeeee"의 길이가 5이고 문자 'e'만 있기 때문입니다.

예시

이에 대한 코드는 -

const str = "abbcccddddeeeeedcba"
const maxPower = (str = '') => {
   let power = 1
   const sz = str.length - 1
   for(let i = 0; i < sz; ++i) {
      let count = 1
      while(i < sz && str[i + 1] === str[i] && ++i)
      power = Math.max(power, ++count)
   }
   return power
};
console.log(maxPower(str));

출력

콘솔의 출력은 -

5