티스토리 뷰

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

 

코딩테스트 연습 - 다음 큰 숫자

자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니

programmers.co.kr

 

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

using namespace std;

int countOne(int n) {
	int ret = 0;
	while (n != 0) {
		ret += n % 2;
		n /= 2;
	}

	return ret;
}

int solution(int n) {
	int cnt = countOne(n);
	while (1) {
		n++;
		if (cnt == countOne(n))
			return n;
	}
}
댓글