ホームページ > ウェブフロントエンド > jsチュートリアル > TIL: 末尾のゼロを削除する方法【CodeWars】

TIL: 末尾のゼロを削除する方法【CodeWars】

DDD
リリース: 2024-12-11 07:57:10
オリジナル
853 人が閲覧しました

TIL: How to Trim Trailing Zeros【CodeWars】

概要 ?

ヒーローにゼロはありません

この質問では、数値の整合性を維持しながら数値から末尾のゼロを削除する必要があります。

入力と出力の例:

1450 -> 145
960000 -> 96
1050 -> 105
-1050 -> -105
ログイン後にコピー

難易度:

8級 (Codewarsで最も簡単なレベル)

解決策?

解決策 1

function noBoringZeros(n) {
  while (n % 10 === 0 && n !== 0) {
    n = n / 10
  }
  return n
}
ログイン後にコピー
  • while ループを使用した手続き型プログラミングのアプローチ。

解決策 2

const noBoringZeros = n => n % 10 === 0 && n !== 0 ? noBoringZeros(n / 10) : n;
ログイン後にコピー
  • 再帰を使用した宣言型プログラミング アプローチ。

解決策 3

function noBoringZeros(n) {
  return +`${n}`.replace(/0*$/, "");
}
ログイン後にコピー
  • 正規表現を使用して末尾のゼロを削除します。
  • テンプレート リテラル (${}) を使用して数値を文字列に変換し、.replace() を適用して、演算子を使用して結果を数値に再変換します。

解決策 4

[][(![]+[])[+!![]]+(!![]+[])[+[]]][([]+[][(![]+[])[+!![]]+(!![]+[])[+[]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+!![]]+(!![]+[])[+[]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!
![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+!![]]+(!![]+[])[+[]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+!![]]+(!![]+[])[+[]]]
)[+!![]+[+[]]]+(!![]+[])[+!![]]]((!![]+[
ログイン後にコピー

(ここに抜粋があります)

  • 過度に複雑なソリューション。 (でも、私は好きです。)

ディスカッションと洞察 ?

私が「ソリューション 3」を好むのは、シンプルで読みやすいと同時に、いくつかの便利なテクニックを示しているからです。

これらのソリューションに興味がある場合、またはさらに多くの課題を検討したい場合は、ここにアクセスしてください。

読んでいただきありがとうございます! ?

以上がTIL: 末尾のゼロを削除する方法【CodeWars】の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート