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)); // 値を出力
});
マップ の 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' を出力
}
});
h の値を参照し if文 で 条件分岐しました。
【自動車の燃費】コード
reader.on('close', () => {
const [v, d] = lines[0].split(' ').map(Number);
console.log(parseInt(d / v)); // 距離 ÷ 給油量(切り捨て)を出力
});
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(' ')); // [番号, 名前]を結合して出力
});
});
[番号, 名前] を player に保存。player の[番号]を基準に 小さい順に並替えた後 [番号, 名前] を 半角スペース区切りで結合して出力しました。
コメント