線形探索 メニュー【指定された値の個数・指定された値の位置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);
});
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が最初に現れる位置を取得
});
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が最後に現れる位置を取得
});
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 を出力
}
}
});
A の各値を調べながら k と一致すれば i + 1 を出力。
コメント