Question
app.codility.com
My Solution
app.codility.com
function solution(N) {
let input = N;
let count = 0;
let maxCount = 0;
let startCount = false;
while (input > 0) {
let bit = input%2;
if (bit === 0) {
if (startCount)
count++;
} else {
startCount = true;
if (count > maxCount) {
maxCount = count;
}
count = 0;
}
input = Math.floor(input/2);
}
return maxCount;
}
Solution Online
www.zsoltnagy.eu
function solution( N ) {
let str = N.toString( 2 ),
zeroCount = 0,
result = 0;
for ( let digit of str ) {
if ( digit === '0' ) {
zeroCount += 1;
} else {
result = Math.max( result, zeroCount );
zeroCount = 0;
}
}
return result;
}
Note
number.toString(radix);
parseInt(string, radix);