다음 큰 숫자

108번뇌·2021년 9월 7일
0

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

#include <string>
#include <vector>

using namespace std;
bool chkNumber(string str, string target)
{
	int itarget(0);
	int istr(0);
	for (int i = 0; i < target.size(); i++)
	{
		if (target[i] == '1')  itarget++;
	}
	for (int i = 0; i < str.size(); i++)
	{
		if (str[i] == '1')  istr++;
	}

	if (istr == itarget) return true;
	else return false;
}

string to_binary(int iStart)
{
	string sTemp = "";
	while (1)
	{
		if (iStart < 2)
		{
			sTemp = "1" + sTemp;
			break;
		}
		sTemp = to_string(iStart % 2) + sTemp;
		iStart /= 2;
	}
	return sTemp;
}

int solution(int n) {
	int answer = 0;
	string starget = to_binary(n);
	n += 1;
	while (1)
	{
		string sTemp = to_binary(n);
		if (true == chkNumber(sTemp, starget))
		{
			return n;
		}
		else    n += 1;
	}
}
int main()
{
	
	
	int iTemp= solution(15);

	return 0;
}

이진법 숫자 -> 문자로 바꾸는 형식 연습
함수한번 만들어보고 pass해도됨.

profile
내일 아침 눈을 떳을 때, '기대되는 오늘 하루를 만들기 위해' 나는 오늘도 생각하고 고민한다.

0개의 댓글