【paiza】スキルチェック過去問題セット :単語のカウント (paizaランク C 相当) 解答例 – PHP編
単語がスペース区切りで、一行の文字列として与えられています。Paizaの問題では半角スペース区切りで必要な情報が与えられることが多く、大体の場合「explode()」を使用して配列にしてから利用する傾向があります。この問題も配列を利用すれば意外と簡単に解くことができますが、単語のカウントに関してはPHP関数の知識が乏しかった当時、初心者なりに考えてコードを書いていた記憶があります。
解答例1:繰り返し処理でカウントした場合
|
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $input_line = explode(" ",trim(fgets(STDIN))); //標準入力値を配列に格納する $new = array(); //「$new」という空配列を作る foreach($input_line as $value){ //単語をカウントする繰り返し処理 $new[$value]++; } foreach($new as $key =>$value){ //解答を出力する繰り返し処理 echo $key." ".$value."\n"; } ?> |
解答例2:「array_count_values()」を使用した場合
|
1 2 3 4 5 6 7 8 |
<?php $input_line = explode(" ",trim(fgets(STDIN))); //標準入力値を配列に格納する $new = array_count_values($input_line); //「array_count_values」で各単語をカウント foreach($new as $key =>$value){ //解答を出力する繰り返し処理 echo $key." ".$value."\n"; } ?> |
おススメは断然こちらです!