function solution(s){
let left = 0;
let right = 0;
// 2번째로 추가
if(s.length %2 !==0) return false
for(i=0; i<s.length; i++){
if(s[i]==='(') left ++;
else right ++
if(right > left){ return false}
}
if(left===right) return true
else return false
}
표 | 내풀이(1)-좌우비교 | 내풀이(2)-%2!==0 추가 | 다른방법-음수면 false |
---|---|---|---|
시간 | ![]() | ![]() | ![]() |
function solution(s){
let cum = 0
for (let paren of s) {
cum += paren === '('? 1: -1
if(cum < 0) {
return false
}
}
return cum === 0? true: false;
}
cum으로 합산해서 푸는 방식이 더 효율이 좋은 것 같다.
다른 풀이에서 적용해보아야겠다!