codility - BinaryGap

2020. 3. 10. 14:05codility

 

정수를 이진수로 표현하는 경우 1과 1사이에 있는 zero의 수를 맞추는 문제입니다.

 

소스코드

int solution(int N) {
    int num = 0, count = 0, flag = 0, result = 0;
 
    do {
        num = N % 2;
        N /= 2;
 
        if (num == 1)
            flag++;
         
        if(flag == 1 && num == 0){
            count++;
        }else if(flag == 2){
            if(result < count){
                result = count;
                count = 0;
                flag = 1;
            }else{
                count = 0;
                flag = 1;
            }
        }
    } while (N > 0);
 
    return result;
}

 

'codility' 카테고리의 다른 글

codility - TapeEquilibrium  (0) 2020.03.10
codility - OddOcurrenceInArray  (0) 2020.03.10
codility - CyclicRotation  (0) 2020.03.10
Codility - FrogJmp  (0) 2020.03.10
Codility - Permutation check  (0) 2020.03.10