2022. 9. 30. 10:17 자기개발/코딩테스트
C++ (코딩테스트) - 다음 큰 숫자(프로그래머스)
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12911
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
내가 쓴 코드
#include <string>
#include <vector>
using namespace std;
int binary_one_count(int n)
{
int cnt = 0;
while (true)
{
if (n % 2 == 1) cnt++;
n /= 2;
if (n / 2 < 1)
{
cnt++;
break;
}
}
return cnt;
}
int solution(int n) {
int answer = n;
int n_cnt = binary_one_count(n);
while (n_cnt != binary_one_count(++answer));
return answer;
}
다른 사람 코드
비트셋 머지...?
#include <bitset>
using namespace std;
int solution(int n) {
int num = bitset<20>(n).count();
while (bitset<20>(++n).count() != num);
return n;
}
'자기개발 > 코딩테스트' 카테고리의 다른 글
C++ (코딩테스트) - 모음사전(프로그래머스) (0) | 2022.09.30 |
---|---|
C++ (코딩테스트) - [1차] 뉴스 클러스터링(프로그래머스) (1) | 2022.09.30 |
C++ (코딩테스트) - 피보나치 수(프로그래머스) (0) | 2022.09.30 |
C++ (코딩테스트) - 멀리 뛰기(프로그래머스) (0) | 2022.09.30 |
C++ (코딩테스트) - k진수에서 소수 개수 구하기(프로그래머스) (1) | 2022.09.29 |