AtCoder ABC 217 B – AtCoder Quiz Python解説

スポンサーリンク

AtCoder Quiz

AtCoder では現在、 ABC , ARC , AGC , AHC の 4 つのコンテストが定期的に開催されています。AtCoder で現在定期的に開催されているコンテストは S1, S2, S3とあと 1 つは何ですか?

AtCoder Beginner Contest「AtCoder Quiz」

4つのコンテスト(ABC, ARC, AGC, AHC)を格納した配列を用意して、入力からコンテスト名が与えられたらremoveでコンテストを削除していく。最後に配列に残った要素(コンテスト)を出力してみます。

a = ["ABC", "ARC", "AGC", "AHC"]

for i in range(3):
    a.remove(input())
    
print(*a)

要素を削除ではなく、flagで管理する場合は次のようになります。

a = ["ABC", "ARC", "AGC", "AHC"]
b = [True for _ in range(4)]

for i in range(3):
    s = input()
    for j in range(4):
        if s == a[j]:
            b[j] = False
            
for i in range(4):
    if b[i]:
        print(a[i])

4つのコンテストを格納した配列aと、flagをTrueにした配列bを用意します。入力から与えられたコンテストと配列aの要素が一致したら、配列aと同じ番号の配列bをTrueからFalseに変更します。
最後までTrueだった配列bの番号を使って、配列aの要素を出力すれば完了です。

AtCoderB問題

Posted by cheese