codility
codility - BinaryGap
로빈 아빠
2020. 3. 10. 14:05
정수를 이진수로 표현하는 경우 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;
}