【ABC173 B】「Judge Status Summary」を解く【Python3】

「AtCoder」解説一覧へ

N個のテストケースのうち、ジャッジ結果が ‘AC’, ‘WA’, ‘TLE’, ‘RE’ であったものの個数をそれぞれ出力する問題です。

提出
n = int(input())
s = [input() for _ in range(n)]
print("AC x {}".format(s.count('AC')))
print("WA x {}".format(s.count('WA')))
print("TLE x {}".format(s.count('TLE')))
print("RE x {}".format(s.count('RE')))

入力されたジャッジ結果を、内包表記を用いてリストにします。

‘AC’, ‘WA’, ‘TLE’, ‘RE’ のそれぞれの個数をcount()で求めて、問題の出力欄と同じように出力します。

format()メソッド

文字列の中に置換フィールド{}を記述することにより、format()メソッドを呼び出すことができます。

print('{}年{}月{}日'.format(2020, 1, 23))
# > 2020年1月23日

このほか、if文で場合わけして解くこともできます。

提出
n = int(input())
s = [input() for _ in range(n)]
j = [0]*4

for i in range(n):
    if s[i] == "AC":
        j[0] += 1
    elif s[i] == "WA":
        j[1] += 1
    elif s[i] == "TLE":
        j[2] += 1
    else :
        j[3] += 1

l = ["AC", "WA", "TLE", "RE"]
for i in range(4):
    print("{} x {}".format(l[i], j[i]))

すべての要素が0のリストを用意しておき、条件に該当した際に1足します。

最後に、問題の出力欄と同様の形式で出力していきます。

【ABC173】解説記事リスト

「AtCoder」解説一覧に戻る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です