はじめに
paizaのスキルチェック見本問題を解きました
問題
野球の各打者はストライクが 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 に対応しています。
実装したソースコード
def hantei(s_count,b_count,msg):
if s_count == 3:
print("out!")
elif b_count == 4:
print("fourball!")
else:
print(msg + "!")
def main():
num = int(input())
s_count = 0
b_count = 0
for i in range(num):
data = input()
if data == "strike":
s_count += 1
else:
b_count += 1
hantei(s_count,b_count,data)
if __name__ == "__main__":
main()
結果
100点満点でした。
最後に
Cレベルの問題だそうです。