240904

문제 : λ‹€μŒ 큰 숫자 λ‚œμ΄λ„ : Lv.2

풀이

  function solution(n) {
      // 주어진 수 n의 2μ§„μˆ˜μ—μ„œ 1의 개수 κ΅¬ν•˜κΈ°
    const countOnes = (n) => n.toString(2).split('1').length - 1;
    
    const nOnes = countOnes(n); // n의 1의 개수
    let nextNum = n + 1; // n보닀 큰 수λ₯Ό μ°ΎκΈ° μœ„ν•΄ n+1λΆ€ν„° μ‹œμž‘
    
    // 1의 κ°œμˆ˜κ°€ λ™μΌν•œ 수λ₯Ό 찾을 λ•ŒκΉŒμ§€ 반볡
    while (countOnes(nextNum) !== nOnes) {
        nextNum++; // λ‹€μŒ 숫자둜 증가
    }
    
    return nextNum; // 쑰건을 λ§Œμ‘±ν•˜λŠ” κ°€μž₯ μž‘μ€ 숫자 λ°˜ν™˜
}

Last updated