• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

코드 리뷰 부탁드립니다!!

22.03.17 13:29 작성 조회수 141

1

forof로 하니까 프로그래머스에서 올바른 괄호 문제가 효율성 이슈가 발생하여 제 나름대로 풀어봤는데 리뷰 부탁드리겠습니당
 
    <script>
        function solution(s) {
            let stack = [];
            let cnt = 0;
            for (let i = 0; i < s.length; i++) {
                if(s[i] === '(') cnt++;
                else if(s[i] === ')') cnt--;
                if(cnt < 0) return false;
                if(cnt === 0 && s[i] !== ')') stack.push(s[i])
            }

            return stack.join('');
        }

        let str = "(A(BC)D)EF(G(H)(IJ)K)LM(N)";
        console.log(solution(str));
    </script>
 

답변 1

답변을 작성해보세요.

0

안녕하세요^^

스택을 쓰지 않고 위와 같이 카운팅해서 하는 방법도 좋은 방법입니다.