https://programmers.co.kr/learn/courses/30/lessons/12909
function solution(s){
var answer = true;
var stack = [];
for(var i=0; i<s.length; i++){
if(s[i]==='('){
stack.push(s[i]);
}else{
if(stack.length===0){
answer = false;
}
stack.pop(s[i-1]);
}
}
if(stack.length !== 0){
answer = false;
}
return answer;
}
function solution(s){
var answer = true;
var stack = [];
for(var i=0; i<s.length; i++){
if(s[i]==='('){
stack.push(s[i]);
}else{
stack.pop(s[i]);
stack.pop(s[i-1]);
}
}
if(stack.length !== 0){
answer = false;
}
return answer;
}
function solution(s){
var answer = true;
var stack = [];
for(var i=0; i<s.length; i++){
if(s[i]==='('){
stack.push(s[i]);
}else{
stack.pop(s[i-1]);
}
}
if(stack.length !== 0){
answer = false;
}
return answer;
}
왜 처음에 틀렸지? => 모든 경우의 수를 고려하지 않음...
맨 처음에 )가 오는 경우, )일 때는 pop을 할 필요가 없음(넣지를 않으니까)을 간과함.
stack