足すか掛けるか《Bランク UP メニュー》

Bランクレベルアップメニュー【インクリメント・文字列の出力・文字列の分割・整数の足し算・足すか掛けるか】

【インクリメント】コード

reader.on('close', () => {
   let n = Number(lines[0]);
   n++;  // n = n + 1
   console.log(n);
});
hogeちゃんの画像

n の値を n++ で上書きして出力しました。

【文字列の出力】コード

reader.on('close', () => {
   const n = Number(lines[0]);
   for (let i = 1; i <= n; i++) {  // 1 ~ n までループ
      const s = lines[i];  // 入力を s で受取って…
      console.log(s);  // 出力
   }
});
hogeちゃんの画像

文字列を s で受け取りながら  for文 で n 行出力しました。

【文字列の分割】コード

reader.on('close', () => {
   const S = lines[0].split(' ');  // 入力を(' ')区切りので配列に変換→ S で受取り
   S.forEach(s=>{  // S の各要素にアクセスして…
      console.log(s);  // 出力
   });
});
hogeちゃんの画像

一行の文字列を split(' ') で半角スペースで区切った値を要素に持つ配列に変換。S で受け取り forEach()で出力

【整数の足し算】コード

reader.on('close', () => {
   const [a, b] = lines[0].split(' ').map(Number);  // 入力を(' ')区切りので配列に変換→数値に変換→[a, b]で受取り
   console.log(a + b);  // a + b を出力
});
hogeちゃんの画像
半角スペース区切りの数字を split(' ') で配列に変換後 map(Number) で数値に変換した値を [a, b]で受け取りました。そして a + b を出力しています。

【足すか掛けるか】コード

reader.on('close', () => {
   const n = Number(lines[0]);
   let ans = 0;  // 出力値を 0 で初期化
   for (let i = 1; i <= n; i++) {
      const [a, b] = lines[i].split(' ').map(Number);
      ans += (a === b ? a * b : a + b);  // a, b が同じなら a * b, 異なれば a + bans に加算
   }
   console.log(ans);  // 出力
});
hogeちゃんの画像

三項条件演算子を使いました。a === b なら a * b さもなくば a + bans に加算して 出力しました。

コメント