카테고리 없음

프로그래머스 > 다음 큰 숫자

단점이없어지고싶은개발자 2022. 10. 21. 19:30
반응형

 

 

1. result는 n보다 커야하고, 이진수로 변경했을 때, 1의 갯수가 같아줘야한다고 해서, toString,split,filter 메소드를 이용해 1의 갯수를 파악해줬다.

2. while문을 돌면서 bigNum++를 해주었고, 같은 값을 찾았을 때 while문이 끝나게 하고, 마지막으로 bigNum을 반환시켰다.

function solution(n) {
    let isBig = true;
    let bigNum = n + 1;

    while(isBig) {
        if (bigNum.toString(2).split("").filter((el) => el === "1").length === n.toString(2).split("").filter((el) => el === "1").length) {
            isBig = false;
        } else {
            bigNum += 1;
        }
    }
    return bigNum;
}

 

 

반응형