작성일 : 2022년 1월 9일

문제 : https://programmers.co.kr/learn/courses/30/lessons/12911

해설 : https://haesoo9410.tistory.com/305

나의 풀이

function solution(n) {
    var answer = n+1;
    
    while(n) {
        const checkOneCount = num => num.toString(2).split('').filter(char => char === '1').length;
        
        const isSameOneCount = (a,b) => checkOneCount(a) === checkOneCount(b);
        
        if(n < answer && isSameOneCount(n, answer)) {
            break;
        } else {
            answer++;
        }
    }
    
    return answer;
}

풀이 해설

function solution(n) {
  const oneNum = n.toString(2).split("1").length;
  while (true) {
    n++;
    if (n.toString(2).split("1").length === oneNum) return n;
  }
}

후기