【paiza】 スキルチェック過去問題セット:野球の審判 (paizaランク C 相当) 解答例 – PHP編
「strike」と「ball」の変数を作成し、取得した値が「ストライク」なら「strike」を数値を一つ上げ、「ボール」なら「ball」の数値を上げていき、指定の数に達したら「out!」また「faurball!」を出力するだけの簡単な問題です。またこの問題にはpaiza公式の解答例コードが出されているので安心です。
私がpaiza問題集メモを取り始めたのは殆んどの問題に解答例がないためだったり( ゚д゚ )
解答例
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php $n = trim(fgets(STDIN)); //標準入力で繰り返し処理回数を取得 $strike = 0; //「ストライク」の数を管理する変数を作成 $ball = 0; //「ボール」の数を管理する変数を作成 for ($i = 0; $i < $n; $i++) { //以下の処理を「n」回繰り返す $call = trim(fgets(STDIN)); //標準入力で「ball」か「strike」の値を取得し、ひとまず「$call」という変数に入れる if ($call == "strike") { //もしも「$call」が"strike"だったら… $strike++; //変数「$strike」の値を一つ上げる if ($strike == 3) { //もし変数「$strike」が「3」だったら… echo "out!". "\n"; //「out!」を出力しなさい } else { //変数「$strike」が「3」以外なら… echo "strike!". "\n"; //「strike!」を出力しなさい } } else { //「$call」が"strike"以外なら… $ball++; //変数「$ball」の値を一つ上げる if ($ball == 4) { //もし変数「$ball」が「4」だったら… echo "fourball!". "\n"; //「fourball!」を出力しなさい } else { //変数「$fourball」が「4」以外なら… echo "ball!". "\n"; //「ball!」を出力しなさい } } } ?> |
ダメな例
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
foreach($array as $value){ if($value == "ball"){ $ball++; } elseif($value == "strike") { $strike++; } if($ball < 4){ echo "ball!\n"; } if($strike < 3){ echo "strike!\n"; } if($ball == 4){ echo "fourball!\n"; } if($strike == 3){ echo "out!\n"; } |
