// Nazar Abdul Fattah
// Suitmedia - Backend Developer Test
function hitungNomorBit(angka, nomorBit) {
if (nomorBit !== 0 && nomorBit !== 1) return null;
if (angka === 0) return nomorBit === 0 ? 1 : 0;
let count = 0;
while (angka > 0) {
if ((angka % 2) === nomorBit) count++;
angka = Math.floor(angka / 2);
}
return count;
}
print(hitungNomorBit(13, 0)); // Output: 1
print(hitungNomorBit(13, 1)); // Output: 3
print(hitungNomorBit(13, 2)); // Output: null
Ly8gTmF6YXIgQWJkdWwgRmF0dGFoCi8vIFN1aXRtZWRpYSAtIEJhY2tlbmQgRGV2ZWxvcGVyIFRlc3QKCmZ1bmN0aW9uIGhpdHVuZ05vbW9yQml0KGFuZ2thLCBub21vckJpdCkgewogICAgaWYgKG5vbW9yQml0ICE9PSAwICYmIG5vbW9yQml0ICE9PSAxKSByZXR1cm4gbnVsbDsKICAgIGlmIChhbmdrYSA9PT0gMCkgcmV0dXJuIG5vbW9yQml0ID09PSAwID8gMSA6IDA7CgogICAgbGV0IGNvdW50ID0gMDsKICAgIHdoaWxlIChhbmdrYSA+IDApIHsKICAgICAgICBpZiAoKGFuZ2thICUgMikgPT09IG5vbW9yQml0KSBjb3VudCsrOwogICAgICAgIGFuZ2thID0gTWF0aC5mbG9vcihhbmdrYSAvIDIpOwogICAgfQoKICAgIHJldHVybiBjb3VudDsKfQoKcHJpbnQoaGl0dW5nTm9tb3JCaXQoMTMsIDApKTsgLy8gT3V0cHV0OiAxCnByaW50KGhpdHVuZ05vbW9yQml0KDEzLCAxKSk7IC8vIE91dHB1dDogMwpwcmludChoaXR1bmdOb21vckJpdCgxMywgMikpOyAvLyBPdXRwdXQ6IG51bGwK