[프로그래머스 lev2/JS] 다음 큰 숫자

woolee의 기록보관소·2022년 11월 8일
0

알고리즘 문제풀이

목록 보기
89/178

문제 출처

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

나의 풀이

function solution(n) {
  let nBin = n.toString(2);
  let cnt=0;
  for (let i=0; i<nBin.length; i++) {
    if (nBin[i] === '1') cnt++;
  }

  while (1) {
    n++;
    let nBin2=n.toString(2);
    let cnt2=0;
    for (let i=0; i<nBin2.length; i++) {
      if (nBin2[i] === '1') cnt2++;
    }
    
    if (cnt === cnt2) break;
  }
  return n;
}

console.log(solution(78));

다른 풀이

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
https://medium.com/@wooleejaan

0개의 댓글