【配列に対しての複雑な処理】STEP: 2 内定 (paizaランク C 相当) – PHP編【配列活用メニュー】
【配列活用メニュー】 > 【配列に対しての複雑な処理】STEP: 2 内定 (paizaランク C 相当)
※リンク先へ移動する為には「paiza」へのログインが必要です。
解答例
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php $input = explode(" ",trim(fgets(STDIN))); $n = $input[0]; $k = $input[1]; $m = $input[2]; $array = array(); for($i = 0;$i < $n;$i++){ $test = trim(fgets(STDIN)); if($test >= $k){ array_push($array,$test); } } $count = count($array) - $m; if($count > 0){ echo $count; } else { echo "0"; } ?> |
N人の中から採用可能人数を求める問題です。最初の一文で、受験者数N人、採用基準であるK点、そして採用人数から辞退する人数M人が与えられています。
順序を整理すると、N人の得点がK点以上の人だけ「$array」という配列に入れていきます。
これでK点以上だけの配列ができました。この配列を「count()」で人数をカウントした後、辞退するM人を引けば会社側からみて採用可能人数が導くことができます。