티스토리 뷰

728x90
SMALL

그냥풀이

function solution(n) {
    const oriBinary=n.toString(2);
    let oriNum=0;
    for(let i=0;i<oriBinary.length;i++){
        if(oriBinary[i]==="1"){
            oriNum++;
        }
    }
    let binary;
    let num;
    while(true){
        n++;
        num=0;
        binary=n.toString(2)
        for(let j=0;j<binary.length;j++){
            if(binary[j]==="1"){
                num++;
            }
        }
        if(oriNum===num){
            return n;
        }
    }
}

정규식

function solution(n) {
    const num=n.toString(2).match(/1/g).length;
    while(n++){
        if(n.toString(2).match(/1/g).length===num) return n;
    }
}
728x90
LIST
댓글
공지사항