#include <string>
#include <vector>
using namespace std;
int solution(int n) {
int answer = 0;
int tmp = n;
int ONE = 0;
while(tmp > 1){
if(tmp % 2 == 1){
ONE++;
}
tmp /= 2;
}
int num = n;
while(1){
num++;
int tmp = num;
int one = 0;
while(tmp > 1){
if(tmp % 2 == 1){
one++;
}
tmp /= 2;
}
if(one == ONE){
answer = num;
break;
}
}
return answer;
}
사람들 푸는거 보니까 엄청 복잡하게 풀었던데 흠 굳이 그렇게까지?
그냥 1의 개수를 세면 되니까 진짜 그냥 이진수 변환하면서 1의 개수를 세면 된다.