728x90
반응형
🔗 문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/12911
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
👩💻 코드
#include <string>
#include <vector>
using namespace std;
int countOnesInBinary(int num){
int count = 0;
while (num){
count += num & 1;
num >>= 1;
}
return count;
}
int solution(int n) {
int onesCount = countOnesInBinary(n);
while (countOnesInBinary(++n) != onesCount);
return n;
}
📝 풀이
이번 이진 변환에는 비트와 시프트 연산을 이용해보았다.
주어진 수(n)에서 1씩 증가시킨 후 1의 개수를 비교하여 같을 경우까지 반복 한 뒤 return 하면 끝!
728x90
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 짝지어 제거하기 (0) | 2024.07.16 |
---|---|
[프로그래머스] 피보나치 수 (1) | 2024.07.14 |
[프로그래머스] 숫자의 표현 (0) | 2024.07.13 |
[프로그래머스] 이진 변환 반복하기 (0) | 2024.07.13 |
[프로그래머스] JadenCase 문자열 만들기 (0) | 2024.07.11 |