프로그래머스 알고리즘/2단계
(프로그래머스 c++)2개 이하로 다른 비트
naeunchan
2021. 5. 28. 14:55
728x90
반응형
https://programmers.co.kr/learn/courses/30/lessons/77885?language=cpp
코딩테스트 연습 - 2개 이하로 다른 비트
programmers.co.kr
https://ansohxxn.github.io/programmers/148/
[C++로 풀이] 2 개 이하로 다른 비트 ⭐⭐
📌 2 개 이하로 다른 비트
ansohxxn.github.io
비트 관련 문제는 아직 어려움이 있는 것 같다...ㅠ
다른 분의 사이트에서 참고하였고, 다시 공부해서 풀어봐야겠다.
#include <string>
#include <vector>
#include <iostream>
using namespace std;
vector<long long> solution(vector<long long> numbers) {
vector<long long> answer;
for(int i = 0; i < numbers.size(); i++){
if(numbers[i] % 2 == 0){
answer.push_back(numbers[i] + 1);
}
else{
long long bit = 1;
while(1){
if((numbers[i] & bit) == 0){
break;
}
bit <<= 1;
}
bit /= 2;
answer.push_back(numbers[i] + bit);
}
}
return answer;
}
728x90
반응형