올바른 괄호

Mudi·2023년 1월 27일
0

[JavaScript] Coding Test

목록 보기
20/23
post-thumbnail

올바른 괄호

프로그래머스 올바른 괄호


문제

올바른 괄호란 "("로 열려서 ")"로 닫히는 괄호를 뜻합니다. "(",")"로만 이루어진 문자열 s가 주어질 때 올바른 괄호이면 true, 아니면 false를 반환하는 함수를 완성해주세요.


제한

  • 문자열 s의 길이는 100,000 이하의 자연수입니다.
  • 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다.

접근

문자열 s를 순회하며 "("가 나오면 stack 배열에 담고 ")"가 나오면 pop을 해줍니다.
마지막에 stack의 길이가 0이면 true, 아니면 false를 반환하도록 합니다.


풀이

stack 배열

let stack = [];

stack 배열을 만들어줍니다.


순회하기

    for(let x of s){
        if(x === '(' ){
            stack.push(x)
        } else {
            stack.pop()
        }
    }

문자열 s를 순회하며 "("가 나올때 마다 stack에 담아주고, "("가 나올때 마다 pop해줍니다.


반환

return stack.length === 0;

위의 코드가 참이면 올바른 괄호이기 때문에 true를,
거짓이라면 false를 반환합니다.


나의 코드

function solution(s){
    let stack = [];
    
    for(let x of s){
        if(x === '(' ){
            stack.push(x)
        } else {
            stack.pop()
        }
    }
    return stack.length === 0;
}

0개의 댓글