新・Bランクレベルアップ【マップの扱い1】マップの書き換え・1 マス
【マップの書き換え・1 マス】コード 1/2
reader.on('close', () => {
const [H, W] = lines[0].split(' ').map(Number);
const S = [];
const [y, x] = lines[H + 1].split(' ').map(Number);
for (let i = 1; i <= H; i++) {
S.push(lines[i].split(''));
}
S[y][x] === '.' ? S[y][x] = '#' : S[y][x] = '.';
for(let i = 0;i < H;i++){
console.log(S[i].join(''));
}
});
ひとマスだけ書き換えて出力。
″.″ と ″#″ の変換は 三項条件演算子 で制御しました。
【マップの書き換え・1 マス】コード 2/2 (C++実装例参照)
reader.on('close', () => {
const [H, W] = lines[0].split(' ').map(Number);
const S = [];
const [y, x] = lines[H + 1].split(' ').map(Number);
for (let i = 1; i <= H; i++) {
S.push(lines[i].split(''));
}
S[y][x] === '.' ? S[y][x] = '#' : S[y][x] = '.';
for (const s of S) {
console.log(s.join(''));
}
});
解説の実装例・C++の場合 を参照。
for...of
文 で出力しています。
コメント