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