var maxDepth = function(s) {
let stack = [];
let depth = 0;
for(char of s) {
if(char === '(') {
stack.push('(')
if(stack.length > depth) depth = stack.length;
}
if(char === ')') stack.pop();
}
return depth;
};
stack과 최대 깊이를 기록하는 변수
depth
를 이용해서 해결했다.
(
일 경우, 스택에 추가한 후 스택의 길이와depth
를 비교한다. 현재 스택에 쌓여있는(
의 개수가depth
보다 클 경우depth
의 값을 재할당한다.
반대로)
일 경우, 괄호가 닫힌 것이기 때문에 스택에서(
를 제거한다.