JavaScriptで角かっこのスコアを見つける
問題
最初で唯一の引数として、バランスの取れた角括弧文字列strを受け取るJavaScript関数を作成する必要があります。
この関数は、次のルールに基づいて文字列のスコアを計算して返す必要があります-
-
[]スコアは1です
-
ABのスコアはA+Bで、AとBはバランスの取れたブラケット文字列です。
-
[A]のスコアは2*Aです。ここで、Aはバランスの取れたブラケット文字列です。
たとえば、関数への入力が
入力
const str = '[][]';
出力
const output = 2;
例
以下はコードです-
const findScore = (str = '') => { const arr = [] for(const char of str) { arr.push(char) while(arr[arr.length - 1] === ']') { arr.pop() if(arr[arr.length - 1] === '[') { arr.pop() arr.push(1) } else { let num = arr.pop() while(arr[arr.length - 1] >= 1) { num += arr.pop() } arr.pop() arr.push(2 * num) } } } return arr.reduce((acc, a) => acc + a, 0) }; console.log(findScore(str));
出力
2
-
JavaScriptで配列の中央値インデックスを見つける
問題 1次元空間内のさまざまな小惑星の位置を表す配列arrを取り込むJavaScript関数を作成する必要があります。 各小惑星について、絶対値はそのサイズを表し、符号はその方向を表します(正の意味は右、負の意味は左)。各小惑星は同じ速度で移動します。 私たちの機能は、すべての衝突後の小惑星の状態を見つけることになっています。 2つの小惑星が出会うと、小さい方の小惑星が爆発します。両方が同じサイズの場合、両方が爆発します。同じ方向に移動する2つの小惑星が出会うことはありません。 たとえば、関数への入力が-の場合 入力 const arr = [1, 7, 3, 6, 5, 6];
-
JavaScriptで最長の連続結合を検索する
問題 最初で唯一の引数として、数値のペアarrの配列を受け取るJavaScript関数を作成する必要があります。すべてのペアで、最初の数字は常に2番目の数字よりも小さくなります。 ここで、b