【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));コードの解説
処理の流れを順番に見ていきましょう。
- 数値を文字列へ変換:
'' + numによって数値を文字列化し、各桁を個別に操作できるようにします。 - 桁を昇順に並べ替え:
split('')で1桁ごとの配列に分解し、sort()で昇順ソートします。これにより、小さい数字から順に並びます。 - 最小の数を生成:
join('')で配列を再び文字列に戻し、単項プラス演算子+で数値に変換します。先頭の「0」は自動的に無視されます。 - 差を計算して返す:元の数値から最小の数を引き、その結果を返します。
実行結果
このコードをコンソールで実行すると、以下の出力が得られます。
792
-
【JavaScript】各桁の積と合計の絶対差を求める方法
概要 JavaScriptでは、正の整数を唯一の引数として受け取る関数を作成できます。この関数は、まずその数値の各桁の合計を計算し、次に各桁の積を計算します。そして最後に、積と合計の絶対差を結果として返します。 具体例 入力する数値が次の場合: const num = 12345; 各桁の合計は 1 + 2 + 3 + 4 + 5 = 15、各桁の積は 1 × 2 × 3 × 4 × 5 = 120 となります。したがって、絶対差は |120 − 15| = 105 となり、出力は次のようになります。 const output = 105; コード例 実際のコードは以下の通りです。 {
-
PHPとJavaScriptの違いとは?特徴・実行環境・使い分けを徹底解説
はじめに 本記事では、Web開発で広く使われる2つのプログラミング言語——PHPとJavaScriptの主な違いについて詳しく解説します。それぞれの特徴や動作環境を理解することで、プロジェクトに応じた適切な言語選択ができるようになります。 JavaScriptの特徴 フロントエンドとバックエンドの両方を担当可能:ブラウザ上のUI制御から、Node.jsを使ったサーバーサイド処理まで幅広く対応できます。 非同期処理に対応:入出力操作の完了を待たずに次の処理へ進むため、レスポンスの速いアプリケーションを構築できます。 実行環境が柔軟:ブラウザで直接実行できるほか、「Node.js」の登場以降は