본문 바로가기
Coding Test/JavaScript

[Javascript] (프로그래머스 level 2) 올바른 괄호

by Chaedie 2022. 9. 29.
728x90

[Javascript] (프로그래머스 level 2) 올바른 괄호

💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다.

내 풀이

function solution(s){
    let count = 0;
    for (let i = 0; i < s.length; i++) {
        if (s[i] === '(') {
            count++;
            continue;
        } else if (s[i] === ')') {
            count--;
        }

        if (count < 0) {
            return false
        }
    }

    return count === 0;
}
  • 스택 문제라는 걸 알고 있어서 push() pop()을 통해 풀었더니 “시간 초과”가 뜨네요..
  • 그래서 그냥 위 코드 처럼 count해서 ‘(’ 이면 ++ ‘)’ 이면 — 로 풀었습니다.

다른 사람 풀이 참고한 풀이

function solution(s){
    let count = 0
    for (let char of s) {
        count += char === '(' ? 1: -1
        if(count < 0) {
            return false
        }
    }

    return count === 0;
}
  • 로직은 같은데 3 항 연산자를 활용해서 코드 라인이 훨씬 짧네요.

배운 점, 느낀 점

댓글