paizaの森練習問題コンテスト過去問題1

paizaの森練習問題コンテスト(2022/2/22開催)の過去問

【スポーツの人数】コード

reader.on('close', () => {
   const S = lines[0];
   const Team = new  Map([  // マップの初期値を2次元配列で指定
      ['baseball', 9],
      ['soccer', 11],
      ['rugby', 15],
      ['basketball', 5],
      ['volleyball', 6]
   ]);
   console.log(Team.get(S)); // 値を出力
});
hogeちゃんの画像

マップ の key と value は 2次元配列 で 指定。value の取得は get(key)でOK。マップ の解説は こちら を参照しました。

【バイトの休憩時間】コード

reader.on('close', () => {
   const h = Number(lines[0]);  // h は勤務時間
   if (h > 8) {  // h が 8 以上なら…
      console.log('60 min');  // '60 min' を出力
   } else if (h > 6) {  // h が 6 以上で 8 未満なら…
      console.log('45 min');  // '45 min' を出力
   } else {  // 6 未満なら…
      console.log('no break');  // 'no break' を出力
   }
});
hogeちゃんの画像

h の値を参照し if文 で 条件分岐しました。

【自動車の燃費】コード

reader.on('close', () => {
   const [v, d] = lines[0].split(' ').map(Number);
   console.log(parseInt(d / v));  // 距離 ÷ 給油量(切り捨て)を出力
});
hogeちゃんの画像

parseInt(d / v)d  ÷ v の小数点以下を切り捨てて出力しました。

【背番号順】コード

reader.on('close', () => {
   const N = Number(lines[0]);
   const player = [];  // [番号,  名前] の 保存用配列
   for (let i = 1; i <= N; i++) {
      player.push(lines[i].split(' '));  // player に[番号, 名前]を保存
   }
   player.sort((s, b) => s[0] - b[0]);  // player を 番号を基準に昇順ソート
   player.forEach(value => {
      console.log(value.join(' '));  // [番号, 名前]を結合して出力
   });
});
hogeちゃんの画像

[番号,  名前] を player に保存。player の[番号]を基準に 小さい順に並替えた後 [番号,  名前] を 半角スペース区切りで結合して出力しました。

コメント