[프로그래머스] 다음 큰 숫자 - JavaScript

이수동·2022년 6월 3일
0
post-thumbnail

프로그래머스 Level 2 - 다음 큰 숫자


📌 생각한 풀이 방법

  1. 숫자를 하나씩 더해 이진수일 때, 1의 갯수가 같은 수를 찾는다.

📌 풀이

function solution(n) {
  let oneCount = n
    .toString(2)
    .split("")
    .filter((num) => num === "1").length;
  while (true) {
    let currentNum = ++n; // 숫자를 하나씩 더해
    let currentNumCount = currentNum
      .toString(2)
      .split("")
      .filter((num) => num === "1").length;
    if (currentNumCount === oneCount) {
      // 이진수일 때, 1의 갯수가 같은 수
      return n++;
    }
  }
}
profile
기록을 통한 성장하기 🧐

0개의 댓글