[프로그래머스 lev2/JS] 올바른 괄호

woolee의 기록보관소·2022년 11월 8일
0

알고리즘 문제풀이

목록 보기
80/178

문제 출처

프로그래머스 lev2 - 올바른 괄호

문제

나의 풀이

배열을 쓰면 효율성 테스트에서 시간초과 발생함.

function solution(s){
  if (s.length % 2 !== 0) return false; 

  let stack = 0;
  for (let i=0; i<s.length; i++) {
    if (s[i] === '(') {
      stack++;
    }
    else if (s[i] === ')' && stack >= 1) {
      stack--;
    }
  }

  if (stack >= 1) {
    return false;
  } else return true;
}

console.log(solution("()()"));

다른 풀이

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;
}
profile
https://medium.com/@wooleejaan

0개의 댓글