1. paizaラーニングトップ
  2. レベルアップ問題集
  3. Cランク・スキルチェック過去問題セット(言語選択)
  4. 問題一覧 PHP編
  5. 野球の審判(力試し編) PHP編

Cランク・スキルチェック過去問題セットのサムネイル
野球の審判(力試し編) PHP編(paizaランク C 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

これは、C ランクの問題としてスキルチェックに出題されていた問題です。試しに解いてみましょう。
現時点では自力で正解することができない場合は、この問題を飛ばして次の問題に進んでください。
この問題の後に続く 7 つの問題に順番に取り組むことで、
この「野球の審判」の問題を解くために必要な知識や考えた方を身につけることができます。
C ランク獲得に向けた学習にお役立てください。


問題文



野球の各打者はストライクが 3 つたまるとアウトとなり、ボールが 4 つたまるとフォアボールとなります。
アウトあるいはフォアボールになると、この打者の番は終了します。

あなたはストライクとボールを判定してコールする審判です。
その場の状況に合わせて適切なコールを出しましょう。

【コール一覧】
ストライクが 1 〜 2 つたまったとき → "strike!"
ストライクが 3 つたまったとき → "out!"
ボールが 1 〜 3 つたまったとき → "ball!"
ボールが 4 つたまったとき → "fourball!"

コールの例



ある打者の番における投球の結果 (ストライクまたはボール) が与えられるので、各投球に対してどのようなコールをすればよいかを出力してください。
なお、実際の野球にあっても上記にないルール (ヒット、ファウルなど) については考慮する必要はありません。


1 球目: ボール → "ball!"
2 球目: ストライク → "strike!"
3 球目: ボール → "ball!"
4 球目: ストライク → "strike!"
5 球目: ストライク → "out!"

5 球目では、ボールが 2 つ、ストライクが 3 つたまったのでこの打者はアウトとなります。
これは、入力例 1 に対応しています。


1 球目: ボール → "ball!"
2 球目: ストライク → "strike!"
3 球目: ボール → "ball!"
4 球目: ボール → "ball!"
5 球目: ストライク → "strike!"
6 球目: ボール → "fourball!"

6 球目では、ストライクが 2 つ、ボールが 4 つたまったのでこの打者はフォアボールとなります。
これは、入力例 2 に対応しています。

入力される値

入力は、以下のフォーマットで与えられます。

N
s_1
s_2
...
s_n

1 行目に合計の投球数を表す整数 N が与えられます。
続く N 行のうち i 行目 (1 ≦ i ≦ N) に i 番目の投球の結果を表す文字列 s_i が与えられます。i 番目の投球がストライクであれば s_i は "strike"、ボールであれば "ball" となります。
入力は合計で N + 1 行からなり、入力値最終行の末尾に改行が1つ入ります。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

各投球に対する適切なコールを以下の形で出力してください。

c_1
c_2
...
c_N

期待する出力は N 行からなります。
N 行のうちの i 行目 (1 ≦ i ≦ N) に問題文の条件に即して打者へのコールを表す文字列 c_i を "strike!", "ball!", "out!", "fourball!" のいずれかで出力してください。
出力の N 行目の末尾に改行を 1 つ入れ、余計な文字、空行を含んではいけません。

条件

すべてのテストケースにおいて、以下の条件をみたします。

3 ≦ N ≦ 6
s_i (1 ≦ i ≦ N) は英字小文字で構成される文字列で、"strike", "ball" のいずれか。
投球はこの打者の番がちょうど終了するまで続きます。すなわち、最終的にこの打者にはアウトかフォアボールのいずれかが必ず与えられ、それ以降の投球はおこなわれません。

入力例1

5
ball
strike
ball
strike
strike

出力例1

ball!
strike!
ball!
strike!
out!

入力例2

6
ball
strike
ball
ball
strike
ball

出力例2

ball!
strike!
ball!
ball!
strike!
fourball!

問題一覧へ戻る

ページの先頭へ戻る