CodeKata 15
4039 ワード
質問する
正数Nをバイナリに変更する場合は、連続する0の最大値を返します.
input: 9
output: 2
説明:9のバイナリ数は1001です.1と1の間の0は2なので、2を返します.
input: 529
output: 4
説明:529の整数は10000010001です.binary gapは4と3の2つあります.
大きい値は4ですので、4を返します.
input: 20
output: 1
説明:20の整数は10100です.1~1の間の連続0の数は1のみです.
(後ろの0は1の間ではありません.)
input: 15
output: 0
説明:15のバイナリ数は1111です.バイナリギャップがないため、0を返します.
input: 32
output: 0
説明:32の整数は100000です.バイナリギャップがないため、0を返します.
答案用紙
モデルの答え
const solution = N => {
let binary = (N).toString(2);
const binaryArr = binary.split('1');
let binaryGap = 0;
for (let i = 0; i < binaryArr.length-1; i++) {
if (binaryArr[i].length === 0) {
continue;
} else {
binaryGap = Math.max(binaryGap, binaryArr[i].length);
}
}
return binaryGap;
}
私の答え
Reference
この問題について(CodeKata 15), 我々は、より多くの情報をここで見つけました
https://velog.io/@hyounglee/CodeKata-15
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
const solution = N => {
let binary = (N).toString(2);
const binaryArr = binary.split('1');
let binaryGap = 0;
for (let i = 0; i < binaryArr.length-1; i++) {
if (binaryArr[i].length === 0) {
continue;
} else {
binaryGap = Math.max(binaryGap, binaryArr[i].length);
}
}
return binaryGap;
}
Reference
この問題について(CodeKata 15), 我々は、より多くの情報をここで見つけました https://velog.io/@hyounglee/CodeKata-15テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol