나의 풀이

        function solution(s) {
            let answer = 0;
            let stack = [];
            for (let x of s) {
                stack.push(x)

                if ()

                let rt = stcak.pop();
                let lt = stack.pop();

            }
//3+2+5+7 = 17, 
// 
            return answer;
        }

        let a = "()(((()())(())()))(())";
        console.log(solution(a));

    </script>

모범 답안

 function solution(s){
                let answer=0;
                let stack=[];
                for(let i=0; i<s.length; i++){
                    if(s[i]==='(') stack.push('(');
                    else{
                        stack.pop(); 
                        if(s[i-1]==='(') answer+=stack.length;
                        else answer++;
                        //stack.pop(); 이 위치에 하면 레이저까지 카운팅한다.
                    }
                }                          
                return answer;
            }
            
            let a="()(((()())(())()))(())";
            console.log(solution(a));

 

+ Recent posts