인프런 커뮤니티 질문&답변

ReKoding님의 프로필 이미지
ReKoding

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

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

해결된 질문

작성

·

219

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
질문자

감사합니다 !

ReKoding님의 프로필 이미지
ReKoding

작성한 질문수

질문하기