[#21][알고리즘] 다음 큰 숫자
프로그래머스 > 다음 큰 숫자
문제 링크(https://programmers.co.kr/learn/challenge_codes/170)C++풀이
| 
#include<iostream> 
using namespace std; 
int countOne(int num){ 
  int ans=0; 
    while(num!= 1){ 
      if(num%2 == 1){ 
         ans++; 
          } 
    num /= 2; 
  } 
  return ans+1; 
} 
int nextBigNumber(int n) 
{ 
  int answer= n+1; 
  int count = countOne(n); 
  for(int i = answer; i <= 1000000; i++){ 
    if(count == countOne(i)){ 
        answer = i; 
        break; 
    } 
  } 
  return answer; 
} 
int main() 
{ 
    int n=78; 
    //아래는 테스트 출력을 위한 코드입니다. 
    cout<<nextBigNumber(n); 
} | cs | 
: num%2 가 1일 때 ans++
2. nextBigNumber() 함수로 입력받은 n의 1의 개수와 같은 수 찾는다.
: 찾으면 종료

댓글
댓글 쓰기