스택과 큐는 각 후입선출, 선입선출을 따르며 삽입 및 삭제 속도가 빠르다는 장점이 있다. 이전에 스택과 큐에 대해 작성한 블로그 글이 있기에 이 글에서는 새로 알게 된 개념과 연습문제만을 기록하려 한다.
const isParenthesisValid = (validationString) => {
// const satck = new Stack();
const stack = [];
for (let pos=0; pos<validationString.length; pos++) {
const currentCharacter = validationString.charAt(pos);
if (currentCharacter === "(") {
stack.push(currentCharacter);
} else if (currentCharacter === ")") {
if (!stack.length) return false;
stack.pop();
}
}
return !stack.length;
}
isParenthesisValid("((()"); // false
isParenthesisValid("((((()"); // false
isParenthesisValid("(())"); // true
isParenthesisValid("()()"); // true