[코딜리티] binary gap

나의 풀이

function solution(N) {
    // write your code in JavaScript (Node.js 8.9.4)
    let left = 0;
    let right = 0;
    let max = 0;
    const binaryOfN = N.toString(2).split('');

    while(right < binaryOfN.length) {
        if (left === right) {
            right++;
            continue;
        }

        if (binaryOfN[right] === '1') {
            max = right - left-1 > max ? right-left-1 : max;
            left = right;
        }

        right++;
    }

    return max;
}

풀이 회고

문제를 보고 그냥 다 체크를 하면 된다고 처음에 생각을 했는데 굳이 그럴 필요가 없이 left, right를 사용해서 1을 만나면 left를 right로 바로 이동시키도록 했다.

좋은 웹페이지 즐겨찾기