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

JavaScript에서 대괄호의 균형 찾기

<시간/>

"(" 및 ")"의 두 가지 유형의 문자로만 구성된 문자열이 제공됩니다. 우리는 이러한 문자열 하나를 취하고 "(" 또는 ")"를 필요한 만큼 삽입하여 괄호의 균형을 유지하는 함수를 작성해야 합니다. 그런 다음 함수는 균형을 맞추기 위해 문자열에 삽입된 최소 수를 반환해야 합니다.

예:문자열이 -

인 경우
const str = '()))';

그러면 출력은 2가 되어야 합니다. 앞에 '(('를 추가하면 문자열의 균형을 맞출 수 있기 때문입니다.

이에 대한 코드는 -

const str = '()))';
const balanceParanthesis = str => {
   let paren = [];
   for (let i = 0; i < str.length; i++) {
      if (str[i] === "(") {
         paren.push(str[i]);
      } else if (str[i] === ")") {
         if (paren[paren.length - 1] === "("){
            paren.pop();
         }else {
            paren.push("#");
         };
      };
   }
   return paren.length;
}
console.log(balanceParanthesis(str));

출력

콘솔의 출력은 -

2