bitset 라이브러리를 활용해서, count()함수 사용하면 해당 이진수 중 1의 갯수 알 수 있음
정답 코드
2로 나눠가며 1의 갯수 구하기
using namespace std;
int countone(int n){
int onenum=0;
while(1){
if(n==0)break;
if(n%2==1) onenum++;
n/=2;
}
return onenum;
}
int solution(int n) {
int answer = n+1;
int num=countone(n);
while(1){
if(num==countone(answer))break;
answer++;
}
return answer;
}
bitset 라이브러리 활용
#include <bitset>
using namespace std;
int solution(int n) {
int num=bitset<20>(n).count();
int answer=n+1;
int one=bitset<20>(answer).count();
while(num!=one){
one=bitset<20>(++answer).count();
}
return answer;
}
bitset 써서 막 한두줄로 기깔나게 코드짜는사람들 있던디 .. 멋지다 나두 언젠간 ~~ ..