알고리즘, 자료구조/프로그래머스

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

jaee 2022. 9. 20. 01:02

 

https://namu.wiki/w/JavaScript

 

문제: https://school.programmers.co.kr/learn/courses/30/lessons/12909?language=javascript

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제요약

  • 문자열 s가 바르게 짝지은 괄호인 경우 true, 아니면 false를 반환해라.
  • 바르게 짝지은 괄호는 '(' 문자로 열렸을 때 ')'로 닫힌다.
  • 문자열 s의 길이는 1 이상 100,000 이하다.

 

풀이과정

function solution(s){
    if (s[0] === ')') {
        return false;
    };
    
    let stack = [];
    for (let i = 0; i < s.length; i++) {
        if (s[i] === '(') {
            stack.push(s[i]);
        } else {
            if (stack.pop() !== '(') {
                return false;
            }
        };
    }

    return stack.length === 0;
}

 

스택을 활용하면 쉽게 문제를 풀 수 있다.