[프로그래머스] 다음 큰 숫자

leejihun·2022년 11월 13일
0

알고리즘

목록 보기
40/50

https://school.programmers.co.kr/learn/courses/30/lessons/12911

#include <string>
#include <vector>
#include <bitset>
using namespace std;

string toBinery(int n)
{
    string S = bitset<16>(n).to_string();
    return S;
}

int Counting(string s)
{
     int iNum=0;
    for(int i=0;i<s.length();i++)
    {
        if(s[i]=='1')
            iNum++;
    }
    return iNum;
}
int solution(int n) 
{
    int answer = 0;
    string start = toBinery(n);
    int i1Num = Counting(start);

    for(int i=n+1;;i++)
    {
        string binary = toBinery(i);
        if(i1Num==Counting(binary))
        {
            answer=i;
            break;
        }
    }        
    
    
    
    return answer;
    
}

bitset STL을 사용했다. 입력받은값을 이진수 변환하여 STRING 으로 저장해준다!!

profile
U+221E

0개의 댓글