올바른 괄호

hyuri·2023년 10월 5일
0

코딩테스트 연습

목록 보기
54/70

내가 작성한 답

function solution(s){
    let answer;
    let a = 0;
    let b = [];
    if (s[0] == ")" || s.substr(s.length -1, 1) == "(") {
        answer = false;
    }
    else {
        for (const c of s){
            if (c === "(") {
                a += 1;
            }
            else a -= 1;

            if(a === -1 ){
                answer = false;
                break;
            } else if ( a !== 0){
                answer = false;
            }
            else answer = true;
        }
    }
    return answer;
}

다른 답

function solution(s){
    let cum = 0
    for (let paren of s) {
        cum += paren === '('? 1: -1
        if(cum < 0) {
            return false
        }
    }
    return cum === 0? true: false;
}

해석

삼항 연산자를 써서 ( 일 경우 +1 아닐 경우 -1을 해서 0보다 클 경우는 무조건 false로 하고
cum의 개수가 0이면 true 아니면 false로 표현했다. 오...

profile
개발자가 되고 싶은 지망생

0개의 댓글