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

paizaの森練習問題コンテスト(2023年6月開催)の過去問です。

【座席】コード

reader.on('close', () => {
   const guest = lines;
   for (let i = 0; i < 3; i++) {
      console.log(...guest.splice(0, 3));
   }
});
hogeちゃんの画像

入力値をguest にコピーして先頭から 3文字ずつ切り取って出力しました。

【平均と平均】コード

reader.on('close', () => {
   const [a, b] = lines[0].split(' ').map(Number);
   const A_Mean = (a + b) / 2;
   const G_Mean = Math.sqrt(a * b);
   if (A_Mean === G_Mean) {
      console.log('equal');
   } else if (A_Mean > G_Mean) {
      console.log('arithmetic');
   } else if (A_Mean < G_Mean) {
      console.log('geometric');
   }
});
hogeちゃんの画像

相加平均と相乗平均を計算して if文で条件分岐しました。

【親と子】コード

reader.on('close', () => {
   const [a, b] = lines[0].split(' ').map(Number);
   console.log(b === a * 2 + 1 || b === a * 2 + 2 ? 'Yes' : 'No');
});
hogeちゃんの画像

配列の二分木。左の子は 親 × 2 + 1・右の子は 親 × 2 + 2。

【卒論締め切り】コード

reader.on('close', () => {
   const [n, a, b] = lines[0].split(' ').map(Number);
   console.log(n <= a * b ? 'Yes' : 'No');
});
hogeちゃんの画像
a * b が n 以上なら ‘Yes’。

【WBC】コード

reader.on('close', () => {
   const w = lines[0];
   console.log(w === 'WBC' ? 'Yes' : 'No');
});
hogeちゃんの画像

‘WBC’ なら ’Yes’。

【paiza とタイピング】コード

reader.on('close', () => {
   const s = lines[0];
   const p = s.indexOf('p');
   const a = s.indexOf('a', p);
   const i = s.indexOf('i', a);
   const z = s.indexOf('z', i);
   const la = s.indexOf('a', z);
   console.log(p < a && a < i && i < z && z < la ? 'Yes' : 'No');
});
hogeちゃんの画像

s.indexOf(添字を取得したい文字, 検索開始位置) で検索開始位置から調べて添字を取得したい文字 の 添字 ( 見つからない場合は -1) を取得することができました。

コメント