マップの書き換え・1 マス《新・Bランクup》

新・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(''));
   }
});
hogeちゃんの画像

ひとマスだけ書き換えて出力。

″.″ と ″#″ の変換は 三項条件演算子 で制御しました。

【マップの書き換え・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(''));
   }
});
hogeちゃんの画像

解説の実装例・C++の場合 を参照。

for...of 文 で出力しています。

コメント