より高いバージョン



イントロ🌐
問題解決は、あなたのキャリアと一般的にあなたの人生のために重要なスキルです.
だからこそ、私はすべてのレベルの興味深いカタを取る、それらをカスタマイズし、それらを解決する方法を説明します.

運動の理解❗
まず、運動を理解する必要があります!
あなたがそれを理解していない場合は、それを解決することはできません!
私の個人的方法
  • 入力:何を入れますか?
  • 出力:私は何を取得したいですか?

  • 今日の運動
    今日、別7 kyu カタ
    私たちは少し難易度を高める意味.
    ソースCodewars
    関数を書き込むhigherVersion , これは2つのパラメータを受け取ります:version1 and version2 .
    例えば2つの文字列が与えられます."1.2.3" and "1.2.0" , 最初の文字列が2番目の文字列よりも高い場合に戻ります.true .
    先頭のゼロはない.100.020.003 が与えられる100.20.3 .
    入力:二つの文字列.
    出力: boolean.

    解決策を考える💭
    私は運動(=私が関数に入れたものと私がそれから得たいもの)を理解すると思います.
    今、私は入力から出力に得る特定のステップを必要とします.
    私は小さい赤ちゃんステップでこれをしようとします:
  • 最初の文字列の現在の数値が高いかどうかを調べます.
  • を返します.
  • を返します.
  • 等しいなら、両方のストリングの次の数に行って、ステップ1から始めてください
  • 例:
  • 入力"1.2.3", "1.2.0"
  • 最初の文字列の現在の数値が高いかどうかを調べます.1 and 1 => equal
  • 等しいなら、両方のストリングの次の数に行って、ステップ1から始めてください
  • 1番目の文字列の2番目の数が高い場合、2番目の文字列の2番目の数より低いか等しいかを確認します.2 and 2 => equal
  • 等しいなら、両方のストリングの次の数に行って、ステップ1から始めてください
  • 最初の文字列の3番目の数が高い場合、2番目の文字列の3番目の数より小さいか等しいかを確認します.3 and 0 => higher
  • より高いならばtrue
  • 出力:true

  • 実装⛑
    function higherVersion(version1, version2) {
      // split the strings into numbers
      const split1 = version1.split(".").map((s) => Number(s));
      const split2 = version2.split(".").map((s) => Number(s));
      let result = null;
    
      for (let i = 0; i < split1.length; i++) {
        if (split1[i] > split2[i]) {
          // is higher, so break out of the whole loop
          result = true;
          break;
        } else if (split1[i] < split2[i]) {
          // is smaller, so break out of the whole loop
          result = false;
          break;
        } else {
          // is equal, so check the next number
          result = false;
        }
      }
    
      return result;
    }
    

    結果
    console.log(higherVersion("1.2.3", "1.2.0"));
    // true ✅
    
    console.log(higherVersion("9", "10"));
    // false ✅
    

    遊び場⚽
    あなたはコードで遊ぶことができますhere

    次部分➡️
    大仕事!
    使い方を学んだsplit , map , for , break .
    私はあなたがより簡単に問題を解決するためにあなたの新しい学習を使用できることを願って!
    次回は別の面白いカタを解決します.ステイ!
    私は特定のカタを解決する必要がある場合は、私にメッセージを撮影here .
    あなたが私の最新のものを読みたいならば.get in touch with me!

    更なる読書📖
  • split
  • map
  • for
  • break

  • 質問❔
  • どのくらいの頻度でカタをしますか.
  • どの実装が好きですか.なぜ?
  • 任意の代替ソリューション?