Lv2. 大数


質問する



私の答え



解き方


まずパラメータ入力値をバイナリに変換し、次に各インデックス値が1の瞬時番号Countの値をfor文で加算し、nextNumber初期値をnumber+1に、while文をバイナリに変換して1の個数を比較します.もしそうであればnextNumberを戻して関数を終了します.異なる場合はnextNumberに1を加えてwhileループを再計算します.

他人の解答


.

他人の答え方


Stringが提供するmatch(regexp)関数を使用してトラブルシューティングを行います.

  • 入力したパラメータをバイナリに変換した後、match()とlength()を使用して一致する1の個数をsize変数値として宣言します.

  • while文でnを増やし、バイナリを1に変換する個数をsizeと比較し、一致すると値を返します.
  • match関数と正規表現を理解する必要があります


    String.prototype.match()


    構文

    str.match(regexp)
    =>正規表現に一致する文字列の部分を検索します.

    結果値


    文字列が正規表現と一致する場合、一致する文字列全体が最初の要素として含まれ、カッコ内で結果が取得されるアレイが返されます.一致しない場合はnullを返します.