개발공부/알고리즘
프로그래머스 올바른 괄호
jennayeo
2023. 10. 2. 18:51
'('가 나오면 1을더하고, ')'가나오면 1을 빼줘서 answer를 0으로 만들어준다. 어떤 경우에든 ')'가 먼저나오면 return false를 해야함을 고려한 나의 코드
function solution(s){
let answer = 0;
s.split('').map((i, idx) => {
if (answer == -1) {
return false;
}
if (i == '(') {
answer+=1;
};
if (i==')') {
answer-=1;
}
})
return answer == 0? true:false;
}
다른 사람들의 코드를 보던 중 match를 이용한 사람의 코드 발견
function is_pair(s){
var result = s.match(/(\(|\))/g);
return result[0] == '(' && result.length % 2 == 0 ? true : false
}
match는 정규식과 매치되는 부분을 검색하는 메서드이다. 라고 MDN이 그런다😅
'('로 시작해 ')'로 끝나는 string을 모두 검색해서 result에 넣고 result의 길이가 짝수라면 true그렇지 않다면 false