반응형
https://programmers.co.kr/learn/courses/30/lessons/77885
글쓴이의 답
개인적인 풀이 임으로
이것보다 더 좋은 알고리즘은 많음...
이렇게도 풀이하는구나.. 공유하기 위해 올림...
#include <string>
#include <vector>
#include <cmath>
#include <iostream>
using namespace std;
vector<long long> solution(vector<long long> numbers) {
vector<long long> answer;
for(long long num : numbers){
if(0==num%2){
answer.push_back(num+1);
}
else{
int count =0;
long long temp = num;
while( 0 < temp ){
int bi = temp%2;
temp /=2;
if(0 == bi){
break;
}
count++;
}
long long m = pow(2, count-1);
long long result = pow(2, count);
answer.push_back(num+result-m);
}
}
return answer;
}
꾸준히 하다보면 실력이 늘겠지..
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스][C++] 영어 끝말잇기 (0) | 2022.04.15 |
---|---|
[프로그래머스][C++] 삼각 달팽이 (0) | 2022.04.15 |
[프로그래머스][C++] [1차] 프렌즈4블록 (0) | 2022.04.15 |
[프로그래머스][C++] 피로도 (2) | 2022.04.15 |
[프로그래머스][C++] 큰 수 만들기 (0) | 2022.04.15 |