괄호문자제거

bkboy·2022년 5월 19일
0

문제

입력된 문자열에서 소괄호 ( ) 사이에 존재하는 모든 문자를 제거하고 남은 문자만 출력하는
프로그램을 작성하세요.

제한 사항

입출력 예

풀이

function solution(s) {
  let answer;
  let stack = [];
  for (let x of s) {
    if (x === ")") {
      while (stack.pop() !== "(");
    } else {
      stack.push(x);
    }
  }
  answer = stack.join("");
  return answer;
}

let str = "(A(BC)D)EF(G(H)(IJ)K)LM(N)";
console.log(solution(str));
  • 여는괄호와 문자는 다 stack에 push한다.
  • 닫는 괄호를 만나면 stack에서 여는괄호를 만날때까지 pop해준다.
  • pop은 실행 즉시 배열에 변화가 생김을 알고있어야한다.
profile
음악하는 개발자

0개의 댓글