[Codility] Binary Gap

 

https://app.codility.com/programmers/trainings/9/binary_gap/start/

 

Codility

Your browser is not supported Please, update your browser or switch to a different one. Learn more about what browsers are supported

app.codility.com


 

해결방안

 

비트 마스킹 Bitmasking

Bitwise operations


 

정답코드

 

#include <algorithm>
int answer;
int solution(int N) {
int n = N;
int k = 0;
while(n){
n /= 2;
k++;
}
int cnt = 0;
for(int i = k-1; i >= 0; i--) // 앞자리수부터 1 확인하기 위해 k-1부터 시작
{
if(N & (1 << i)){
answer = max(answer, cnt);
cnt = 0;
}
else{
cnt++;
}
}
return answer;
}

 


 

'⭐ 코딩테스트 > Codility' 카테고리의 다른 글

[Codility] Count Conforming Bitmasks  (0) 2024.02.19
[Codility] Disappearing Pairs  (0) 2024.02.19
[Codility] Array Inversion Count  (0) 2024.02.18
[Codility] Tree Height  (0) 2024.02.18
[Codility] Tree Longest Zigzag  (0) 2024.02.18