*문제
s는 여러 괄호들로 이루어진 String 인자입니다.
s가 유효한 표현인지 아닌지 true/false로 반환해주세요.
종류는 '(', ')', '[', ']', '{', '}' 으로 총 6개 있습니다.
아래의 경우 유효합니다.
한 번 괄호를 시작했으면, 같은 괄호로 끝내야 한다.
괄호 순서가 맞아야 한다.
예를 들어 아래와 같습니다.
s = "()"
return true
s = "()[]{}"
return true
s = "(]"
return false
s = "([)]"
return false
s = "{[]}"
return true
function isValid(s) {
left = "([{"
right = ")]}"
target_r = ""
target_l = ""
flag = 0
rlt = ""
for(let i=0; i<s.length; i++){
temp = s[i];
if(right.indexOf(temp)>-1){
flag +=1;
}
if(left.indexOf(temp)>-1){
flag=0;
target_l += temp;
//console.log(right[left.indexOf(temp)])
target_r += right[left.indexOf(temp)];
}
if(flag===1){
//console.log(target_r)
h = target_r.split("").reverse().join("")
//a= target_r.reverse
//console.log(a)
rlt += (target_l + h)
console.log(rlt)
target_r=""
target_l=""
}
}
if(s==rlt){
return true;
}
if(s!= rlt){
return false;
}
}
s ="([)]"
isValid(s);