6
4

はじめに

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レベルの問題だそうです。

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4