Coding Test - cpp
[프로그래머스 lv 2 ] - 다음 큰 숫자
에드윈H
2021. 3. 29. 16:33
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>
using namespace std;
int GetCountOne(int num)
{
string num1 = bitset<8>(num).to_string();
int nCnt = 0;
for (int i = 0; i<num1.size(); i++)
{
if (num1[i] == '1')
{
nCnt++;
}
}
return nCnt;
}
int solution(int n) {
int countNumber = GetCountOne(n);
while (n++)
{
if (countNumber == GetCountOne(n))
break;
}
return n;
}
참고 :