JavaScript

 Computer >> コンピューター >  >> プログラミング >> JavaScript
  1. JavaScriptで人間の年齢を猫と犬の年齢に変換する方法

    問題JavaScriptで、人間の年齢(年数)を受け取り、それに対応する猫の年齢と犬の年齢を返す関数を作成する必要があります。入力const humanYears = 15;出力const output = [ 15, 76, 89 ];換算ルール猫や犬の年齢への換算は、一般的に以下のルールに基づいて行われます。1年目:猫・犬ともに15歳としてカウント2年目:猫・犬ともにさらに9歳を加算3年目以降:猫は毎年4歳、犬は毎年5歳を加算このルールに従うと、人間で15歳の場合は、猫で76歳、犬で89歳に相当することになります。コード例以下がその実装コードです。const humanYears = 15

  2. JavaScriptで1からnまでの自然数の総和を求める関数を実装する方法

    問題数値 n を引数として受け取る JavaScript の関数を作成する必要があります。この関数は、1 から n までのすべての自然数(1 と n そのものを含む)の合計を返すものとします。解決アプローチ最もシンプルな方法は、for ループを使って 1 から n までの数値を順番に加算していくことです。変数で合計値を保持し、ループが終わった時点でその値を返します。コード例以下が実際のコードです。const num = 34; const summation = (num = 1) => {    let res = 0;    for(let i

  3. JavaScriptで単語の配列を組み合わせて文字列を検証する方法

    問題の概要 有効な単語の配列と1つの文字列を受け取り、その文字列が配列に含まれる単語を組み合わせて構成できるかどうかを判定するJavaScript関数を作成する必要があります。 入力例 const arr = [love, coding, i]; const str = ilovecoding; 出力例 const output = true; この場合、「ilovecoding」は「i」「love」「coding」という3つの単語を連結することで表現できるため、結果は true となります。 実装コード 以下が実際のコードです。 const arr = [love, coding, i];

  4. JavaScriptで数値が三角数かどうかを判定する方法

    三角数(Triangular Number)とは? 三角数とは、点を正三角形の形に敷き詰めたときに現れる数のことです。n番目の三角数は「1からnまでの自然数の合計」として表され、次の公式で求められます。 Tn = n(n+1) / 2 具体的な三角数は 1, 3, 6, 10, 15, 21, 28 … と続きます。例えば 10 は、各辺に4個の点を配置した正三角形を構成できるため、三角数です。 問題 数値を引数として受け取り、その数値が三角数であれば true を、そうでなければ false を返すJavaScript関数を実装します。 判定の考え方 n(n+1)/2 = num となる正

  5. JavaScriptでmpg(マイル/ガロン)をkm/L(キロメートル/リットル)に変換する方法

    課題 JavaScriptで、マイル/ガロン(mpg)の数値を受け取り、それに相当するキロメートル/リットル(km/L)へ変換して返す関数を作成します。アメリカなどで使われる燃費単位 mpg を、日本や欧州で一般的な km/L に置き換える際によく用いられる処理です。 変換の考え方 変換には、以下の2つの国際基準の定数を使用します。 1ガロンあたりのリットル数:4.54609188 L(英ガロン) 1マイルあたりのキロメートル数:1.609344 km 「キロメートル ÷ リットル」の比率を求め、入力された mpg の値に掛けることで km/L への変換が可能になります。 コード例 以

  6. JavaScriptで文字列をNATOフォネティックアルファベットに変換する方法

    問題JavaScriptで、入力された文字列を受け取り、それをNATOフォネティックアルファベット(国際的な音声通信に用いられる呼称)へと変換する関数を作成する必要があります。NATOフォネティックアルファベットは、無線通信などで文字の聞き間違いを防ぐために使われる26個のコードワードで構成されています。対応表は以下の通りです。A: AlfaB: BravoC: CharlieD: DeltaE: EchoF: FoxtrotG: GolfH: HotelI: IndiaJ: JuliettK: KiloL: LimaM: MikeN: NovemberO: OscarP: PapaQ: Qu

  7. JavaScriptで顧客IDからナンバープレートを求める方法

    問題ある市Nの自動車登録システムでは、車に対して以下の2種類の番号が割り当てられます。顧客ID(Customer ID) − 0以上17558423以下の自然数。車の購入者に対して順番に付与され、最初の購入者はID「0」、2人目はID「1」、3人目はID「2」というように続きます。ナンバープレート(Number Plate) − 車に割り当てられる番号で、「シリーズ(a〜zのラテン小文字3文字)」と「シリアル番号(0〜9の数字3桁)」で構成されます。例:「aaa001」。各ナンバープレートは特定の顧客IDと関連付けられています。たとえば、ナンバープレート「aaa001」は顧客ID「0」に、「a

  8. JavaScriptで範囲内のすべての数値の合計を求める方法

    問題範囲を指定する配列を受け取るJavaScript関数を作成する必要があります。この関数は、指定された範囲に含まれるすべての自然数(両端の数値も含む)の合計を計算し、その結果を返すものとします。解決策:ループを使った実装以下のコードでは、forループを使って下限値から上限値まで順番に足し合わせていく、シンプルな実装例を示します。const range = [4, 67];const findSum = ([l, h]) => {    let sum = 0;    for(let i = l; i <

  9. JavaScriptで文字列内の単語を逆順に並べ替える方法

    問題文(センテンス)を表す文字列を受け取り、その中に含まれる単語の順序を逆にして、新しい文字列として返すJavaScript関数を作成する必要があります。つまり、最後の単語が最初に、最後から2番目の単語が2番目に来るように、すべての単語の並びをひっくり返すということです。解決のアプローチこの問題は、標準的な配列メソッドを組み合わせるだけでシンプルに実装できます。手順は以下のとおりです。split( ) — 文字列をスペースで分割し、単語の配列を作成するreverse() — 配列の要素の順序を反転させるjoin( ) — 反転した配列をスペースで連結し、再び文字列に戻すコード例以下が実際のコー

  10. JavaScriptで辞書式順序に並んだ最初のn個の自然数シーケンスを生成する方法

    問題数値 n を引数として受け取り、最初の n 個の自然数を含む配列を返す JavaScript 関数を作成することを考えます。ただし、ひとつだけ条件があります。それは、数値を辞書式順序(lexicographical order)で並べるという点です。辞書式順序とは、数値を文字列として比較したときの並び順のことで、たとえば「1」から始まるすべての数値は、「2」や「3」などから始まる数値よりも必ず前に来なければなりません。そのため、通常の数値の大小順序とは異なり、「10」「11」「12」…といった数値は「2」よりも先に並ぶことになります。コード例以下がその実装コードです。const num =

  11. JavaScriptで2進数のビットに合わせて文字列の大文字と小文字を入れ替える方法

    問題 文字列 str と数値 n を引数に受け取り、n を使って文字列を変換する JavaScript 関数を作成します。 数値 n の各ビットは、文字列中の英字ごとの処理を決定します。 ビットが 1 の場合 … 対応する英字の大文字と小文字を入れ替える ビットが 0 の場合 … 元の文字のまま変更しない n の最後のビットまで使い切ったら、再び先頭のビットに戻って同じ処理を繰り返します。最終的に、変換後の新しい文字列を返却してください。 コード例 const str = hey there; const num = 21; const swapCase = (str = , num =

  12. JavaScriptでうるう年・平年のn日目にあたる日付を求める方法

    年の日数(何日目か)と、その年がうるう年かどうかを表す真偽値を渡すと、該当する日付を返すJavaScript関数の実装方法を解説します。うるう年かどうかで2月の日数が変わるため、この違いを正しく処理することがポイントになります。 問題の概要 次の要件を満たすJavaScript関数を作成します。 第1引数: 数値(年の何日目かを表す) 第2引数: 真偽値(うるう年の場合は true) この情報をもとに、その年のn日目にあたる日付(月と日)を返します。うるう年の場合は2月が29日になるため、平年とは計算結果が異なる点に注意が必要です。 実装コード 以下が実際のコード例です。 366) {

  13. 【JavaScript】コールバック関数と初期値を使って配列の値を累積する自作reduce関数

    問題JavaScriptで、配列・コールバック関数・初期値の3つを引数として受け取る関数を作成します。この関数は、配列を反復処理しながら値を累積していき、最終的な結果を返す必要があります。つまり、標準の Array.prototype.reduce() と同じ動作を独自に実装することが求められます。コード例以下がその実装コードです。 a + b; Array.prototype.customReduce = function(callback, initial){     // 初期値が指定されていない場合は、配列の先頭要素を初期値とする  

  14. JavaScriptで条件を満たすタプル(i, j)の最大インデックス差を求める方法

    問題整数の配列 arr を第一引数(唯一の引数)として受け取る JavaScript 関数を作成する必要があります。配列内の2つのインデックス i と j が、次の条件を満たしているものとします。i < j であることarr[i] <= arr[j] であることこの条件を満たすすべてのインデックスの組(タプル)(i, j) のうち、差 j - i が最大になるものを見つけ、その値を返します。たとえば、関数への入力が次の場合:const arr = [6, 0, 8, 2, 1, 5];出力は次のようになります。const output = 4;出力の解説最大の差が得られるのは (i

  15. JavaScriptで配列を「2倍関係」を満たすように再配置できるか判定する方法

    問題数値の配列 arr を第一引数(唯一の引数)として受け取るJavaScript関数を作成する必要があります。配列 arr の長さは必ず偶数であると保証されています。この関数は、すべての 0 <= i < arr.length / 2 に対して arr[2 * i + 1] = 2 * arr[2 * i] という条件を満たすように並べ替えられる場合にのみ true を返し、そうでなければ false を返す必要があります。たとえば、関数への入力が次の場合を考えてみましょう。const arr = [4, -2, 2, -4];このとき、期待される出力は次のとおりです。const

  16. JavaScriptでスタックのプッシュ・ポップ操作シーケンスを検証する方法

    問題2つの配列 pushed と popped を第1引数と第2引数として受け取るJavaScript関数を作成します。どちらの配列にも、重複しない一意な要素のみが含まれることが保証されています。この関数は、最初に空のスタックに対して一連のpush(プッシュ)とpop(ポップ)操作を実行した結果として、この2つの配列が実現可能である場合に限り true を返し、そうでなければ false を返す必要があります。例えば、関数への入力が以下の場合を考えてみましょう。const pushed = [1, 2, 3, 4, 5]; const popped = [4, 5, 3, 2, 1];このとき

  17. JavaScriptで配列の要素をユニークにする最小操作回数を求める方法

    本記事では、数値の配列を受け取り、すべての要素をユニーク(重複なし)にするために必要な最小の操作回数を求める JavaScript のアルゴリズムを解説します。 問題概要 数値の配列 arr を最初の引数として受け取る JavaScript 関数を作成します。 ここで「1回の操作」とは、配列内の任意の要素 arr[i] を選んで 1 増やす(インクリメントする)ことを指します。関数は、配列内のすべての値をユニークにするために必要な最小の操作回数を返す必要があります。 例えば、次の入力が与えられたとします。 const arr = [12, 15, 7, 15]; この場合の出力は次のようになり

  18. JavaScriptで中央にピークのある配列(山型配列)かどうかを判定する方法

    問題数値の配列 arr を第1引数(唯一の引数)として受け取るJavaScript関数を作成します。この関数の役割は、入力された配列が「中央にピークのある配列(山型配列)」であるかどうかを判定することです。条件を満たしていれば true を、満たしていなければ false を返します。山型配列となるための条件配列の長さが 3 以上であること(arr.length >= 3)0 < i < arr.length - 1 を満たすインデックス i が存在し、以下の両方が成り立つこと:arr[0] < arr[1] < ... < arr[i-1] < ar

  19. JavaScriptでリュカ数列のn番目の要素を求める方法

    リュカ数(Lucas Numbers)とはリュカ数は、以下のように定義される数列のことです。フィボナッチ数列と似た構造を持ちますが、初期値が異なる点が特徴です。L(0) = 2L(1) = 1L(n) = L(n-1) + L(n-2)つまり、3番目以降の項は「直前の2つの項の和」として計算されます。実際に並べると 2, 1, 3, 4, 7, 11, 18, 29, ... のような数列になります。問題数値 n を引数として受け取り、n番目のリュカ数を返すJavaScript関数を作成する必要があります。解決策:再帰による実装定義通りに再帰処理を使うことで、シンプルに実装できます。以下がその

  20. JavaScriptで文字列を16進数に変換し、数字部分の合計を求める方法

    問題文字列を受け取り、その中のすべての文字をそれぞれのASCIIコードの16進数値に変換し、さらに16進数文字列に含まれる数字部分(英字は除外)だけを合計して結果を返すJavaScript関数を作成する必要があります。処理の流れ文字列を1文字ずつに分割する各文字をASCIIコードに変換するASCIIコードを16進数表記の文字列に変換するすべての16進数文字列を連結する数字のみを抽出する合計を求めて返すコード例以下が実際の実装例です。const str = "Hello, World!";const toHexAndSum = (str = '') =>

Total 5937 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:23/297  20-コンピューター/Page Goto:1 17 18 19 20 21 22 23 24 25 26 27 28 29