• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    해결됨

섹션 6. 쇠막대기 문제풀이(질문)

23.05.31 21:21 작성 조회수 172

1

선생님 안녕하세요 !

문제풀이 과정에서 제가 푼 방법과 조금 다른거 같아서 이렇게 코드 작성해도 괜찮을지

질문 드립니다.

 

매일 빠른 답변 감사드립니다 !

 

<html>
    <head>
        <meta charset="UTF-8">
        <title>출력결과</title>
    </head>
    <body>
        <script>
            function solution(s){         
                let answer = 0;
                let stack = [];
                for(let i=0;i<s.length;i++){
                    if(s[i] === "(") {
                        stack.push('(');
                        answer += 1;
                    }
                    else {
                        if(s[i-1] === '(') {
                            stack.pop();
                            answer -= 1;
                            answer += stack.length
                        } else {
                            stack.pop();
                        }
                    }
                }
                
                return answer;
            }

            let str = "(((()(()()))(())()))(()())";
            console.log(solution(str));
        </script>
    </body>
</html>

답변 1

답변을 작성해보세요.

1

안녕하세요^^

네. 반례가 없어보입니다. 잘 하신 코드입니다.

ReKoding님의 프로필

ReKoding

질문자

2023.06.02

감사합니다 !