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