JavaScriptでのHackerRankの配列の左回転


まず、配列の左回転を行う最も基本的な方法は、要素を一つずつ左にずらすことです。以下に例を示します。

function rotateLeft(array, rotations) {
  for (let i = 0; i < rotations; i++) {
    const firstElement = array.shift();
    array.push(firstElement);
  }
  return array;
}
const arr = [1, 2, 3, 4, 5];
const rotations = 2;
const rotatedArray = rotateLeft(arr, rotations);
console.log(rotatedArray); // 結果: [3, 4, 5, 1, 2]

上記の例では、rotateLeft関数を使用して配列arrを2回左回転させています。配列の最初の要素を取り出し、配列の末尾に追加することで回転を実現しています。

しかし、この方法は要素を一つずつずらすため、回転する回数が多い場合には効率が悪くなります。次に、より効率的な方法を紹介します。

JavaScriptのsliceメソッドを使用することで、配列の一部を取り出すことができます。配列の左回転では、回転する要素を一度に取り出し、新しい配列を作成することができます。以下に例を示します。

function rotateLeft(array, rotations) {
  const rotatedArray = array.slice(rotations).concat(array.slice(0, rotations));
  return rotatedArray;
}
const arr = [1, 2, 3, 4, 5];
const rotations = 2;
const rotatedArray = rotateLeft(arr, rotations);
console.log(rotatedArray); // 結果: [3, 4, 5, 1, 2]

上記の例では、sliceメソッドを使用して配列arrを2回左回転させています。rotationsの数だけ配列の前半部分と後半部分を取り出し、concatメソッドで結合して新しい配列を作成しています。

これらはJavaScriptで配列の左回転を行うための基本的な方法です。他にも様々なアプローチがありますが、これらの方法を使えばHackerRankの問題で左回転を実装することができるでしょう。

このブログ投稿では、JavaScriptでのHackerRankの配列の左回転についての解説と、基本的なコーディング例を提供しました。もし他の質問や疑問があれば、お気軽にお知らせください。お手伝いできることは喜んでお答えいたします!