AtCoder ABC 211 B – Cycle Hit Python解説

スポンサーリンク

Cycle Hit

4 つの文字列 S1,S2,S3,S4が与えられます。
この中に、H , 2B , 3B , HR がそれぞれ 1 つずつあるか判定してください。
ただし、全ての Siは H , 2B , 3B , HR のいずれかと一致します。

AtCoder Beginner Contest「Cycle Hit」

4つの文字列がそれぞれH, 2H, 3H, HRであればYes、そうでなければNoを答えます。今回の問題で与えられる入力はH, 2H, 3H, HRのいずれかと一致するとのことなので、set関数を使い、文字列の重複の有無で判定していきます。

a = []

for i in range(4):
    a.append(input())
    
if len(set(a)) == 4:
    print("Yes")
else:
    print("No")

空の配列aを用意して、入力から文字列を追加していきます。
set関数を使うと、重複した要素を取り除くので、if len(set(a)) == 4として、重複のない配列の要素数が4つならYes、そうでなければNoを出力して完了です。