指定された値の探索

線形探索 メニュー【指定された値の個数・指定された値の位置1〜3】

【STEP: 1】コード

reader.on('close', () => {
   const n = Number(lines[0]);
   const k = Number(lines[2]);
   const A = lines[1].split(' ').map(Number);
   let ans = 0;
   for (let i = 0; i < n; i++) {
      if (A[i] === k) {
         ans++;
      }
   }
   console.log(ans);
});
hogeちゃんの画像

A の各要素が k と一致すれば ans++。

【STEP: 2】コード

reader.on('close', () => {
   const k = Number(lines[2]);
   const A = lines[1].split(' ').map(Number);
   console.log(A.indexOf(k) + 1);  // indexOf(k)でkが最初に現れる位置を取得
});
hogeちゃんの画像

indexOf(k)A の値に含まれる k の index の最初の値を取得。

【STEP: 3】コード

rreader.on('close', () => {
   const k = Number(lines[2]);
   const A = lines[1].split(' ').map(Number);
   console.log(A.lastIndexOf(k) + 1);  // lastIndexOf(k)でkが最後に現れる位置を取得
});
hogeちゃんの画像

lastIndexOf(k)で 値を後尾から検索して  A の値に含まれる k の index の最初の値を取得。

【FINAL】コード

reader.on('close', () => {
   const n = Number(lines[0]);
   const k = Number(lines[2]);
   const A = lines[1].split(' ').map(Number);
   for (let i = 0; i < n; i++) {
      if (A[i] === k) {  // A[i]が kと一致すれば…
         console.log(i + 1);  // i + 1 を出力
    }
  }
});
hogeちゃんの画像

A の各値を調べながら k と一致すれば i + 1 を出力。

コメント