0
0

More than 1 year has passed since last update.

paizaラーニング レベルアップ問題集 線形探索メニュー応用編 JavaScript 連続した要素の区間

Posted at

連続した要素の区間 (paizaランク B 相当)

解答例

問題文の、

a_l から a_{l + k - 1 }までのすべての要素が x である l ( 1 ≦ l ≦ n − k + 1 )の個数を答えてください。

に基づいて実装します。
sliceとeveryを使いました。

const fs = require("fs");
const input = fs.readFileSync("/dev/stdin", "utf-8").trim();
const lines = input.split("\n");

const [n, x, k] = lines[0].split(" ").map(Number);
const a = lines[1].split(" ").map(Number);

let count = 0;//x が k 個連続で並んでいる区間の個数

for (let l = 0; l < n - k + 1; l++) { //l ( 1 ≦ l ≦ n − k + 1 )
  if (a.slice(l, l + k).every(v => v === x)) {
    count += 1;
  }
}

console.log(count);
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0