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

JavaScript의 올바른 인덱스에 정수 배치

<시간/>

문제

'[' 또는 ']'로만 구성된 문자열 str을 취하는 JavaScript 함수를 작성해야 합니다.

우리 함수는 결과로 나오는 대괄호 조합 문자열이 유효하도록 최소 수의 대괄호( '[' 또는 ']' 및 임의의 위치에 )를 추가해야 합니다. 마지막으로 추가된 가장 작은 수의 대괄호를 반환해야 합니다.

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

인 경우

입력

const str = '[]]';

출력

const output = 1;

출력 설명

시작 부분에 '['를 추가하면 문자열이 균형을 이루기 때문입니다.

예시

const findAdditions = (str = '') => {
   let left = 0
   let right = 0
   for (let i = 0; i < str.length; i++) {
      if (str[i] === '[') {
         left += 1
      } else if (str[i] === ']') {
         if (left > 0) {
            left -= 1
         } else {
            right += 1
         }
      }
   }
   return left + right;
};
console.log(findAdditions(str));

출력

1