쌓고 쌓다
[프로그래머스] 다음 큰 숫자 C++ 풀이 본문
https://school.programmers.co.kr/learn/courses/30/lessons/12911
전체 코드
#include <string>
#include <vector>
using namespace std;
int binary(int n)
{
int cnt=0;
while(n!=0)
{
if(n%2==1)
cnt++;
n/=2;
}
return cnt;
}
int solution(int n) {
int answer = 0;
int target=binary(n);
for(int i=n+1;;i++)
{
if(target==binary(i))
{
answer=i;
break;
}
}
return answer;
}
풀이 방법
2진수로 바꾸며 1의 개수를 세어 반환하는 binary 함수를 만들었습니다.
solutuin에서 먼저 입력으로 주어진 n의 1의 개수 target를 구합니다.
그리고 반복문을 n보다 1큰 수 부터 시작합니다.
target과 i의 1의 개수가 같으면 정답을 찾은것입니다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 영어 끝말잇기 C++ 풀이 (0) | 2022.10.09 |
---|---|
[프로그래머스] 카펫 C++ 풀이 (0) | 2022.10.07 |
[프로그래머스] 피보나치 수 C++ 풀이 (0) | 2022.10.03 |
[프로그래머스] 숫자의 표현 C++ 풀이 (0) | 2022.09.30 |
[프로그래머스] 올바른 괄호 C++ 풀이 (0) | 2022.09.29 |
Comments