【ABC184 B】「Quizzes」を解く【Python3】

「AtCoder」解説一覧へ

N問のクイズに挑戦した高橋くんの最終的な点数を求める問題です。

提出
n, x = map(int, input().split())
s = input()
 
for i in range(n):
    if s[i] == "o":
        x += 1
    else:
        x = max(x-1, 0)
 
print(x)

「o」と「x」からなる文字列Nを一文字ずつチェックしていきます。

「o」の場合は、点数xに1を足します。

「x」の場合は、1点減点なのですが、点数が0のときは減らないので、max() を用いて、「x-1」か「0」の大きいほうを点数xに代入します。

最後に答えである点数xを出力します。

max()関数

max()関数は、配列内の最大値を取得します。

max(配列)

split()メソッド

split()メソッドは、区切り文字を指定して、文字列を分割します。

区切り文字を指定しない場合、空白、タブ、改行で分割されます。

str.split("区切り文字")

map()関数

map()関数は、イテラブル(リストやタプルなど)の各要素に関数の処理を適用します。

map(関数、イテラブル)

【ABC184】解説記事リスト

「AtCoder」解説一覧に戻る

コメントを残す

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