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

JavaScript의 문자열에서 인접한 중복 제거

<시간/>

문제

문자열 str을 첫 번째이자 유일한 인수로 사용하는 JavaScript 함수입니다.

중복 제거는 두 개의 인접하고 동일한 문자를 선택하고 제거하는 것으로 구성됩니다.

더 이상 할 수 없을 때까지 문자열 str에서 중복 제거를 반복적으로 수행합니다.

그리고 우리의 함수는 이러한 모든 중복 제거가 이루어진 후에 마침내 최종 문자열을 반환해야 합니다.

예를 들어, 함수에 대한 입력이 -

인 경우
const str = 'kllkmk';

그러면 출력은 다음과 같아야 합니다. -

const output = 'mk';

출력 설명:

먼저 문자열에서 'll'을 제거하여 'kkmk'로 줄인 다음 'kk'를 제거한 후 새 문자열을 반환합니다.

예시

이에 대한 코드는 -

const str = 'kllkmk';
const removeDuplicates = (str = '') => {
   const arr = [];
   for(const char of str){
      if(char === arr[arr.length - 1]){
         while(arr[arr.length - 1] === char){
            arr.pop();
         };
      } else {
         arr.push(char);
      };
   };
   return arr.join('');  
};
console.log(removeDuplicates(str));

출력

콘솔의 출력은 -

mk