프로그래머스 Lv.2 : 다음 큰 숫자

zeroequaltwo·2022년 11월 30일
0

코딩테스트

목록 보기
57/69

문제

프로그래머스 문제

내 풀이

function solution(n) {
    let b = n.toString(2);
    let one = b.split("1").length-1;
    let c = n+1;
    
    while(one !== c.toString(2).split("1").length-1){
        c++;
    }
    
    return c;
}

개선점

  • 나보다 while문을 잘 쓰는 사람 거
function nextBigNumber(n) {
    var size = n.toString(2).match(/1/g).length
    while(n++) {
        if(size === n.toString(2).match(/1/g).length) return n
    }
}
  • 재귀함수로 쓴 사람 거
function solution(n,a=n+1) {
    return n.toString(2).match(/1/g).length == a.toString(2).match(/1/g).length ? a : solution(n,a+1);
}
profile
나로 인해 0=2가 성립한다.

0개의 댓글