JavaScriptでのHackerRankのCounting Sort 1の解説と実装


Counting Sort 1のアルゴリズムは比較的シンプルであり、以下の手順で動作します。

  1. 入力配列の要素を走査し、各要素の出現回数をカウントします。
  2. カウンター配列を作成し、各要素の出現回数を格納します。
  3. カウンター配列を使用して、ソート済みの配列を作成します。

それでは、JavaScriptでCounting Sort 1を実装する例を見てみましょう。

function countingSort(arr) {
  // カウンター配列を初期化します
  const counter = new Array(100).fill(0);
  // 入力配列の要素をカウントします
  for (let i = 0; i < arr.length; i++) {
    counter[arr[i]]++;
  }
// カウンター配列を使用してソート済みの配列を作成します
  const sortedArr = [];
  for (let i = 0; i < counter.length; i++) {
    for (let j = 0; j < counter[i]; j++) {
      sortedArr.push(i);
    }
  }
  return sortedArr;
}
// テスト用の入力配列
const arr = [1, 4, 1, 2, 7, 5, 2];
const sortedArr = countingSort(arr);
console.log(sortedArr);

上記のコードでは、カウンター配列を用いて入力配列の要素をカウントし、その後、カウンター配列を使用してソート済みの配列を作成しています。最終的には、sortedArrにはソートされた配列が格納されます。

このようにして、JavaScriptを使用してHackerRankのCounting Sort 1を実装することができます。このアルゴリズムは、要素の範囲が制限されている場合や整数型の要素をソートする場合に特に有用です。