
문제 링크
/**
* @param {string} s
* @return {boolean}
*/
var isValid = function(s) {
const stack = []
const pair = {
'(' : ')',
'{' : '}',
'[' : ']'
}
for (i in s) {
if (s[i] === pair[stack[stack.length-1]]) {
stack.pop()
} else {
stack.push(s[i])
}
}
return !stack.length
};
주어진 문자열을 object로 만들어 놓은 뒤 loop을 돌면서 각각의 쌍을 체크하여 stack에 저장 (동일하면 pop, 다르면 push)
마지막까지 loop을 돈 뒤에 stack 안의 내용을 확인하여 남은 것이 있으면 false, 없으면 true를 return 한다.