2023년 12월 12일 15:00

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

  • #알고리즘
  • #프로그래머스
  • #level2
  • #스택/큐

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12909

코드

function solution(s) {
  var answer = 0;
  for (var i = 0; i < s.length; i++) {
    if (s[i] === '(') {
      answer++;
    } else {
      answer--;
 
      if (answer === -1) {
        return false;
      }
    }
  }
  return answer === 0 ? true : false;
}
function solution(s) {
  var answer = 0;
  for (var i = 0; i < s.length; i++) {
    if (s[i] === '(') {
      answer++;
    } else {
      answer--;
 
      if (answer === -1) {
        return false;
      }
    }
  }
  return answer === 0 ? true : false;
}

풀이

반복문으로 '('괄호가 들어오면 숫자를 1 증가시키고 ')' 괄호가 들어오면 1 감소시키는 스택을 활용해서 구현 하였다. 반복문 도는 도중에 숫자가 -1이 될 경우 올바른 괄호가 아니기 때문에 false를 리턴한다. 반복문을 다돌고 숫자가 남아 있지 않으면 올바른 괄호이기 떄문에 true를 리턴한다.