Valid Parentheses
문제
Given a string containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[‘ and ‘]’, determine if the input string is valid.
The brackets must close in the correct order, “()” and “()[]{}” are all valid but “(]” and “([)]” are not.
괄호들이 개수와 순서가 맞게 적혀 있는지 판별
풀이
const isValid = s => {
while ( s.indexOf("()") !== -1 || s.indexOf("{}") !== -1 || s.indexOf("[]") !== -1 ) {
if ( s.indexOf("()") !== -1 ) {
s = s.replace(s[s.indexOf("()")]+s[s.indexOf("()")+1], '')
}
if ( s.indexOf("{}") !== -1 ) {
s = s.replace(s[s.indexOf("{}")]+s[s.indexOf("{}")+1], '')
}
if ( s.indexOf("[]") !== -1 ) {
s = s.replace(s[s.indexOf("[]")]+s[s.indexOf("[]")+1], '')
}
}
return s === '' ? true: false
};
반복문으로 쌍이 없을때까지 s의 길이를 줄여나가고, 빈문자열이 된다면 true, 아니라면 false 리턴
너무 쉬운문제만 골라서 풀고 있는 것 같다.
쉬운거 아무리 풀어봐야 소용 없으니, 내일부터 medium단계에 도전해야겠다.