JavaScript

 Computer >> コンピューター >  >> プログラミング >> JavaScript
  1. JavaScriptで文字列内の指定した文字の直後にある次の文字を取得する方法

    課題JavaScriptで、文字列 str と1文字の char を引数として受け取る関数を作成する必要があります。この関数の役割は、元の文字列の中で char が現れる箇所をすべて見つけ、それぞれの直後に存在する文字(存在する場合のみ)を取り出して、それらを連結した新しい文字列を返すことです。例えば、対象の文字が文字列の末尾に位置している場合、その直後に文字は存在しないため、結果には含まれません。実装例以下が実際のコードです。 {     let res = ;     for(let i = 0; i <

  2. 【JavaScript】合計が指定した数値になるすべての素数ペアを見つける方法

    問題の概要JavaScriptで関数を作成します。この関数は引数として数値 n を受け取り、合計すると n になり、しかも両方が素数であるような数値ペアをすべて配列として返す必要があります。例えば、入力が 26 の場合、「23 + 3」と「19 + 7」はいずれも合計が 26 で、かつ両方とも素数であるため、該当するペアとなります。コード例以下がその実装コードです。const num = 26; const isPrime = (n) => {     if (n % 2 === 0) return false;    

  3. 【JavaScript】パドヴァン数列のn番目の要素を求める方法

    パドヴァン数列とはパドヴァン数列(Padovan Sequence)とは、次の初期値で定義される整数列 P(n) のことです。P(0) = P(1) = P(2) = 1そして、以下の漸化式に従って各項が決まります。P(n) = P(n-2) + P(n-3)この漸化式から導かれる最初のいくつかの値は次のとおりです。1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12, 16, 21, 28, 37, 49, 65, 86, 114, 151, 200, 265, …フィボナッチ数列が直前の2項の和で定義されるのに対し、パドヴァン数列は「2つ前」と「3つ前」の項を足す点が特徴的です

  4. 【JavaScript】連結して回文になる単語ペアを配列からすべて見つける方法

    問題の概要一意な単語(重複のない文字列)が格納された配列を受け取るJavaScript関数を作成します。この関数は、配列内の2つの単語を連結したときに回文(前から読んでも後ろから読んでも同じ文字列)になる、すべてのインデックスペア [i, j] を配列として返す必要があります。ここで重要なのは、順序が意味を持つという点です。たとえば (i, j) のペアでは「i番目の単語 + j番目の単語」の順で連結されるため、(j, i) も別の候補としてチェックする必要があります。実装コード以下は、二重ループですべてのペアを検証するシンプルな実装例です。 { const res = [];

  5. JavaScriptで2進数表現の「1」の個数に基づいて配列を並べ替える方法

    本記事では、数値の配列を受け取り、各数値を2進数表現に変換したときに含まれる「1」の個数が多い順(降順)に並べ替えるJavaScript関数の実装方法を解説します。 問題の概要 数値の配列を引数として受け取るJavaScript関数を作成します。この関数は、各数値の2進数表現に含まれる「1」の個数に基づいて要素を降順に並べ替え、その結果の配列を返す必要があります。 たとえば、数値 78 の2進数表現は 1001110 なので「1」が4個、数値 124 の2進数表現は 1111100 なので「1」が5個あります。この場合、「1」の個数が多い 124 の方が先頭に近い位置に来ます。 解き方のアプロ

  6. 【JavaScript】文字列内のすべての母音を末尾に移動させる方法

    問題の概要文字列を引数として受け取るJavaScript関数を作成します。この関数は、子音は元の相対的な位置を維持し、母音だけを文字列の末尾に移動させた新しい文字列を返す必要があります。実装例以下が実際のコードです。 { const vowels = aeiou; let front = ; let rear = ; for(let i = 0; i < str.length; i++){ const el = str[i]; if(vowels.includes(el)){ rear += el; }else{ front +

  7. JavaScriptで単位が混在する重量値の配列を並べ替える方法

    問題グラム(G)、キログラム(KG)、トン(T)という3つの単位が混在した重量値を含む文字列の配列を受け取り、軽い順から重い順に並べ替えるJavaScript関数を作成する必要があります。課題となるのは、単位が異なるため文字列同士を直接比較できないという点です。そこで、まず各値を共通の単位(ここではキログラム)に変換してから比較を行うアプローチが有効です。解決策以下の手順で実装します。各文字列の末尾から単位(G / KG / T)を判定する数値部分を抽出し、単位に応じてキログラム基準の値へ変換する(T は 1000 倍、G は 0.001 倍)Array.prototype.sort() のコ

  8. JavaScriptを使ってn回の操作後に開いている水道の蛇口の数を求める方法

    問題ある学校の創立記念日の行事で、次のようなゲームが行われたとします−「n」個の水道の蛇口があり、「n」人の生徒が無作為に選ばれます。先生は最初の生徒に、すべての蛇口へ行って開けるよう指示します。続いて2番目の生徒には、2番目ごとの蛇口を閉めさせます。3番目の生徒は、3番目ごとの蛇口に対して、閉まっていれば開け、開いていれば閉めます。4番目の生徒も同様に、4番目ごとの蛇口に対して同じ操作を行います。この操作をn番目の生徒まで終えたとき、何個の蛇口が開いていることになるでしょうか。ここで求められているのは、数値 n を受け取り、開いている蛇口の数を返す JavaScript 関数を作成することで

  9. JavaScriptで文字列内の数字を偶数と奇数に分けて合計を比較する方法

    問題の概要数字のみで構成された文字列を受け取るJavaScript関数を作成する必要があります。この関数は、文字列内の偶数の数字の合計が奇数の数字の合計より大きい場合は true を、そうでない場合は false を返します。実装のアプローチ処理の手順は以下の通りです。偶数用と奇数用の2つの合計変数を0で初期化します。文字列を1文字ずつループで走査し、各文字を数値に変換します。数値が2で割り切れる(余りが0)場合は偶数の合計に、それ以外の場合は奇数の合計に加算します。最後に、偶数の合計が奇数の合計より大きいかどうかを比較した結果を返します。サンプルコード {    

  10. JavaScriptで3辺の長さから三角形の面積を計算する方法(ヘロンの公式)

    課題三角形の3つの辺の長さを受け取り、ヘロンの公式(Herons formula)を使ってその面積を計算するJavaScript関数を作成します。ヘロンの公式とは、三角形の高さが不明でも、3辺の長さだけで面積を求められる便利な公式です。手順は以下の通りです。3辺の合計を2で割り、半周長 s を求める:s = (a + b + c) / 2面積 = √( s × (s − a) × (s − b) × (s − c) ) を計算するサンプルコード以下は、上記の手順をJavaScriptで実装した例です。const s1 = 10; const s2 = 8; const s3 = 7; con

  11. JavaScriptで増加する三角形のn行目の全数値の合計を求める方法

    増加する三角形とはこの問題における「増加する三角形」とは、次のような形の三角形を指します。    1   2 3  4 5 67 8 9 10ご覧のとおり、各行には連続する自然数が左から右へと順に配置され、行が下に進むほど要素の数が1つずつ増えていきます。問題の概要数値 n を受け取り、増加する三角形の n 行目に含まれるすべての数値の合計を返すJavaScript関数を作成する必要があります。例えば15行目の場合、その行には105から120までの連続する15個の数値が含まれており、それらの合計は1695

  12. JavaScriptでn以下のすべての完全立方数の合計を求める方法

    問題 数値 n を引数として受け取り、n 以下に存在するすべての完全立方数(perfect cube)の合計を返すJavaScript関数を作成する必要があります。 完全立方数とは、ある整数を3乗した値として表せる数のことです。たとえば、1(=1³)、8(=2³)、27(=3³)、64(=4³)などが該当します。 アプローチ この問題は非常にシンプルな方法で解くことができます。i を1から順に増やしながら i × i × i(つまり i³)を計算し、その値が n 以下である限り合計に加算していきます。i³ が n を超えた時点でループを終了し、蓄積された合計値を返せば完成です。 この手法では

  13. JavaScriptで10進数のビットを反転して新しい10進数を求める方法

    はじめに本記事では、JavaScriptを使って「10進数を2進数に変換し、すべてのビットを反転させ、その結果を再び10進数として返す」関数の実装方法を解説します。問題の定義私たちが作成すべきのは、以下の処理を行うJavaScript関数です。引数として10進数を受け取るその数値を2進数(文字列)に変換する各ビットを反転する(1なら0へ、0なら1へ)反転後の2進数を10進数に戻して返す実装コード以下が実際のコード例です。 { // 数値を2進数の文字列に変換 const binary = num.toString(2); let newBinary = ; // 各ビットを走

  14. JavaScriptで1からnまでのすべての数値で割り切れる最小の数値を求める方法

    問題 数値 n を引数として受け取る JavaScript 関数を作成する必要があります。この関数は、1 から n までのすべての整数で割り切れる最小の正の整数を求めて返します。 実は、この問題は数学における「最小公倍数(LCM)」を求める問題と同じです。1 から n までのすべての数値の最小公倍数こそが、求めるべき答えとなります。 例 n = 10 の場合を考えてみましょう。2520 という数値は、1・2・3・…・10 のすべての数値で余りなく割り切ることができる、最も小さい数値です。 以下のコードを見てみましょう − const num = 11; const smallestDivis

  15. JavaScriptでディオファントス方程式 x² − 4y² = n のすべての解を求める方法

    問題数値 n を引数として受け取るJavaScript関数を作成する必要があります。この関数は、次のディオファントス方程式を満たすすべての整数 x と y の組み合わせを見つけ出します。x² − 4y² = nそして、条件を満たすペア [x, y] をすべて配列として返します。解法のアプローチこの方程式は、因数分解の公式を利用すると効率的に解くことができます。x² − 4y² = (x + 2y)(x − 2y) = nつまり、n の約数ペアを順に調べ、そこから x と y を逆算する方法が有効です。具体的には次の関係式が成り立ちます。a = x − 2y、b = x + 2y とおくと、a

  16. JavaScriptでソートされていない配列から欠落している1つの数字を見つける方法

    問題の概要1からnまでの連続した整数が含まれるはずの配列を受け取り、欠落している1つの数字を見つけて返すJavaScript関数を作成します。この配列には次の2つの特徴があります。1つの数字だけが欠落している要素がランダムな順序で格納されている(未ソート)解決のアプローチ:等差数列の和の公式最もシンプルかつ効率的な方法は、ガウスの和の公式を利用することです。1からnまでの整数の合計は「n × (n + 1) ÷ 2」で求めることができます。具体的な手順は以下の通りです。実際の合計:reduce()メソッドを使って、配列内の全要素の合計を計算する理論上の合計:欠落した数字を含む完全な数列の合計を

  17. 【JavaScript】約数の2乗の合計が平方数(完全な平方)になる整数を範囲内から見つける方法

    問題2つの整数 m と n を要素とする配列で範囲を受け取り、その範囲内から特定の条件を満たす整数をすべて見つける JavaScript 関数を作成します。条件とは、「ある整数の約数をすべて2乗し、その合計値がそれ自体平方数(完全な平方数)となっている」ことです。関数は配列の配列(サブ配列のリスト)を返します。各サブ配列には2つの要素が含まれます。1番目の要素:約数の2乗の合計が平方数となる整数2番目の要素:その整数の約数の2乗の合計値実装例以下が実際のコードです −const range = [1, 500]; const listSquared = ([m, n]) => { &nb

  18. JavaScriptで直方体の対角線の長さを求める方法

    問題 JavaScriptで関数を作成し、直方体の「長さ・幅・高さ」の3つの値を受け取り、その対角線(空間対角線)の長さを返すことを目指します。 アプローチ:三平方の定理の三次元への拡張 直方体の対角線は、ピタゴラスの定理(三平方の定理)を三次元に拡張した次の公式で求められます。 d = √(l² + w² + h²) つまり、各辺の2乗をすべて足し合わせ、その平方根を計算するだけです。JavaScriptでは Math.sqrt() を使うことで簡単に実装できます。 コード例 { const ll = l ** 2; const ww = w ** 2; const

  19. JavaScriptで2つの直方体の体積差を求める方法

    問題JavaScriptで、2つの直方体(キューボイド)の長さ・幅・高さを指定する配列を受け取る関数を作成します。この関数は、それぞれの直方体の体積を計算し、その絶対差(差の絶対値)を返す必要があります。直方体の体積は「長さ × 幅 × 高さ」で求められるため、まず各直方体の体積を算出し、Math.abs()メソッドを使って2つの体積の差の絶対値を取得します。コード例以下が実際のコードです。const h1 = 10; const w1 = 12; const l1 = 15; const h2 = 12; const w2 = 15; const l2 = 9; const findVol

  20. JavaScriptで配列の偶数を2乗・奇数を平方根に変換して合計を求める方法

    問題 数値の配列を受け取るJavaScript関数を作成する必要があります。この関数は、配列内の各数値に対して「偶数であれば2乗」「奇数であれば平方根」を求め、それらすべての合計を小数点以下2桁に丸めて返します。 解決のアプローチ この問題は、Array.prototype.map()とArray.prototype.reduce()を組み合わせると簡潔に実装できます。まずmap()で各要素を変換した新しい配列を作り、続いてreduce()でその配列の合計を計算します。最後にMath.round()を使って小数点以下2桁に丸めます。 コード例 以下が実際のコードです − const arr

Total 5937 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:16/297  20-コンピューター/Page Goto:1 10 11 12 13 14 15 16 17 18 19 20 21 22