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

コンテスト一覧へ

 

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】解説記事リスト

コンテスト一覧に戻る

コメントを残す

メールアドレスが公開されることはありません。