올바른 괄호

성석민·2022년 6월 17일
1

알고리즘

목록 보기
70/72
post-thumbnail

github 전체코드

문제

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

풀이 과정

이용해서 문제를 해결한다.

  1. 주어진 s의 길이만큼 순회하면서
  2. 길이가 1이면서 닫힌괄호인 경우 false를 반환
  3. 열린괄호면 stack에 push
  4. 닫힌괄호면 stack에서 pop
  5. 스택의 길이가 0이면 올바른 괄호 -> true 반환
  6. 스택의 길이가 0이 아니면 올바르지 않은 괄호 -> false 반환
const solutionA = (s) => {
  const stack = [];

  for (let i = 0; i < s.length; i++) {
    if (s[0] === ')') return false;

    const element = s[i];

    if (element === '(') stack.push(element);
    else {
      stack.pop();
    }
  }

  return stack.length === 0 ? true : false;
};

const testA = solutionA('(())()');
console.log(testA);

틀린 부분이 있거나 보충해야 할 내용이 있다면 댓글이나 DM(sungstonemin)으로 알려주시면 감사하겠습니다😄

profile
기록하는 개발자

0개의 댓글