JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

【JavaScript】数字を並べ替えて作れる最小の数との差を求める方法


問題の概要

本記事では、正の整数を1つだけ引数として受け取るJavaScript関数を作成します。この関数の目的は、元の数値と、その数値の各桁を並べ替えることで作成できる「最小の数」との差を求めて返すことです。

具体例

例として、入力される数値が 820 の場合を考えてみましょう。

  • 各桁を並べ替えて作れる最小の数は「028」、すなわち 28 になります。
  • したがって、期待される出力は次のとおりです。
820 - 28 = 792

実装コード

以下が実際のコード例です。

const num = 820;
const maximumDifference = (num) => {
    const numStr = '' + num;
    const sorted = numStr.split('').sort();
    const smallest = +sorted.join('');
    return num - smallest;
};
console.log(maximumDifference(num));

コードの解説

処理の流れを順番に見ていきましょう。

  1. 数値を文字列へ変換:'' + num によって数値を文字列化し、各桁を個別に操作できるようにします。
  2. 桁を昇順に並べ替え:split('') で1桁ごとの配列に分解し、sort() で昇順ソートします。これにより、小さい数字から順に並びます。
  3. 最小の数を生成:join('') で配列を再び文字列に戻し、単項プラス演算子 + で数値に変換します。先頭の「0」は自動的に無視されます。
  4. 差を計算して返す:元の数値から最小の数を引き、その結果を返します。

実行結果

このコードをコンソールで実行すると、以下の出力が得られます。

792
  1. 【JavaScript】各桁の積と合計の絶対差を求める方法

    概要 JavaScriptでは、正の整数を唯一の引数として受け取る関数を作成できます。この関数は、まずその数値の各桁の合計を計算し、次に各桁の積を計算します。そして最後に、積と合計の絶対差を結果として返します。 具体例 入力する数値が次の場合: const num = 12345; 各桁の合計は 1 + 2 + 3 + 4 + 5 = 15、各桁の積は 1 × 2 × 3 × 4 × 5 = 120 となります。したがって、絶対差は |120 − 15| = 105 となり、出力は次のようになります。 const output = 105; コード例 実際のコードは以下の通りです。 {

  2. PHPとJavaScriptの違いとは?特徴・実行環境・使い分けを徹底解説

    はじめに 本記事では、Web開発で広く使われる2つのプログラミング言語——PHPとJavaScriptの主な違いについて詳しく解説します。それぞれの特徴や動作環境を理解することで、プロジェクトに応じた適切な言語選択ができるようになります。 JavaScriptの特徴 フロントエンドとバックエンドの両方を担当可能:ブラウザ上のUI制御から、Node.jsを使ったサーバーサイド処理まで幅広く対応できます。 非同期処理に対応:入出力操作の完了を待たずに次の処理へ進むため、レスポンスの速いアプリケーションを構築できます。 実行環境が柔軟:ブラウザで直接実行できるほか、「Node.js」の登場以降は