문제
프로그래머스 문제
내 풀이
- 맨 처음에는 while + 문자 소거로 풀었는데 효율성 문제에서 통과를 못했다. 배열이나 문자열을 제거해나가면서 루프를 돌리는 건 역시 효율성이 많이 떨어지는 거라는 걸 배운 문제
function solution(s){
if(s[0] === ")" || s[s.length-1] === "(") return false;
let result = 0;
for(var i=0; i<s.length; i++){
if(s[i] === "(") result++;
else result--;
if(result === -1) return false;
}
return result === 0;
}
개선점
- cum += paren === '('? 1: -1 이 부분이 좋아서 갖고왔다.
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;
}