-
Level 2 > 다음 큰 숫자프로그래머스(Programmers) 2018. 9. 14. 19:17반응형
https://programmers.co.kr/learn/courses/30/lessons/12911
1. 문제
입력 받은 숫자를 이진수로 변환하여 갖고 있는 1의 개수와 다음 숫자를 이 진수로 변환 했을 때 1의 개수가 같은 숫자를 찾는 문제
현재 숫자 - 78(1001110) == 1 의 개수 4 개
다음 큰 숫자 - 83(1010011) == 1 의 개수 4개
2. 알고리즘
키워드 - 구현
3. 코드
123456789101112131415161718192021#include <string>#include <vector>using namespace std;int solution(int n) {int count = __builtin_popcount(n);// 현재 정수의 비트 카운트를 계산 한다.while(true){// 반복문으로 n 의 값을 증가하며 2진수로 변환 했을 때// 비트 카운트가 같은 값을 찾는다.++n;int cand = __builtin_popcount(n);if(count == cand) {break;}}return n;}cs 반응형'프로그래머스(Programmers)' 카테고리의 다른 글
2017 팁스타운 > 예상 대진표 (0) 2018.09.20 프로그래머스 > Level 1 > 같은 숫자는 싫어 (0) 2018.09.14 해시 > 완주하지 못한 선수 (0) 2018.09.14 Level 3 > 멀리 뛰기 (0) 2018.08.22 Level 3 > 가장 긴 팰린드롬 (0) 2018.08.22