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

이아현·2023년 9월 5일
0

코딩테스트

목록 보기
29/31
post-thumbnail

🐣 INTRO

  • 자바스크립트 강의를 통해서 풀어봤지만, 예제가 몇 개 없어서 내가 푼 방법이 확실한지 알 수가 없었다. 그래서 프로그래머스에 있는 똑같은 문제를 다시 풀어봤다.

👩🏻‍💻 내가 푼 코드

function solution(s){
    var answer = true;
    var stack = [];
    
    for (x of s) {
        if (x === "(") {
            stack.push("(")
        } else if ( x === ")") {
            if (stack.length > 0) stack.pop();
            else {
                answer = false; 
                break // answer이 false가 나왔으면 중단해도 됨!
            } 
        }
    }
    
    if (stack.length > 0) {
        answer = false;
    }

    return answer;
}
  • 일단 javascript 코드에서는 if (stack)이 통하지 않는다... => 정확성 2, 6번 통과안됨
    • 파이썬으로 익숙해져서 저렇게 했더니 통과하지 않았다.
    • if (stack.length > 0)으로 하니까 통과
    • 추가) if (stack.length)로 하면 된다. 하지만 효율성 1번이 통과가 안됨!
  • break코드를 넣지 않아서 시간 초과가 났다... => 효율성 2번 통과안됨
    • answerfalse가 되자마자 바로 for문이 끝나도 되기 때문에 break를 넣어줘서 바로 끝내주기!
profile
PM을 지향하는 FE 개발자 이아현입니다 :)

0개의 댓글