// (을 계속 push 하고 )은 pop을 하는데, 핵심은 )이 pop될 때, 레이저인지 막대기인지 파악하는 것이 중요하다.
// 레이저인 경우에는 스택의 길이(현재까지 쌓인 막대기 길이)를 add 하고, 막대기의 끝인 경우는 1을 add 한다.
function solution(arrangement) {
let result = 0;
let stack = [];
for(let i=0;i<arrangement.length;i++){
if(arrangement[i] === "("){ // (은 무조건 push
stack.push("(");
}
else{ // )이 나오면 (를 하나 빼줌
stack.pop();
if(arrangement[i-1]==="("){ // case1 : 레이저인 경우
result += stack.length;
}
else{ // case2 : 막대기 끝인 경우
result += 1;
}
}
}
return result
}