코딩테스트/프로그래머스

[Level 2][C++] 다음 큰 숫자

MJ.Lee 2024. 10. 10. 22:34
#include <string> 

​

using namespace std; 

​

int countOne(int number)  //2진수로 바꿨을 때 1을 구하는 함수

{ 

    int count=0; 

    while(number>0) 

    { 

        count = (number%2==1)? ++count: count; 

        number /=2; 

    } 

     

    return count; 

} 

​

int solution(int n) { 

  

    int nOne = countOne(n); 

    int answer = n; 

    while(true) 

    { 

        answer++; 

        if(countOne(answer)==nOne) 

            return answer; 

    } 

  
}