[코딜리티] nesting

박재윤·2021년 1월 5일
0

코테준비

목록 보기
13/25

나의 풀이

첫번째 풀이

// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');

function solution(S) {
    // empty
    if (S === '') return 1

    let answer = 1;
    let LMinusR = 0;
    for (char of S.split('')) {
        if (char === '(') {
            LMinusR++;
        } else if (char === ')') {
            LMinusR--;
        }

        if (LMinusR < 0) {
            break;
        }
    }

    if (LMinusR !== 0) {
        answer = 0;
    }

    return answer;
}

결과

두번째 풀이

function solution(S) {
    // empty
    if (S === '') return 1

    let answer = 1;
    let LMinusR = 0;
    for (const char of S) {
        if (char === '(') {
            LMinusR++;
        } else if (char === ')') {
            LMinusR--;
        }

        if (LMinusR < 0 || LMinusR > 500000) {
            break;
        }
    }

    if (LMinusR !== 0) {
        answer = 0;
    }

    return answer;
}

결과

풀이 회고

string도 iterable한데 배열로 split을 하는 과정이 들어가서 오래 걸렸나보다. string도 Symbol.iterator가 구현되어 있으니까 iterable 하다!

0개의 댓글

관련 채용 정보