728x90
programmers.co.kr/learn/courses/30/lessons/12911
코딩테스트 연습 - 다음 큰 숫자
자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니
programmers.co.kr
#include <string>
#include <vector>
#include <bitset>
#include <iostream>
using namespace std;
int ijin(int num ){
int i =1;
int count=0;
while(i<=num){
if((num&i)){
count++;
}
i= i<<1;
}
return count;
}
int solution(int n) {
int answer = 0;
int count =0;
int cmp = n;
int ncount = ijin(n);
while(count!=ncount){
cmp ++;
count = ijin(cmp);
}
answer = cmp;
return answer;
}