[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