長さNの文字列Sの中に連続する部分列「ABC」がいくつ含まれるか答える問題です。
提出
n = int(input())
s = input()
print(s.count("ABC"))
入力はN,Sのみです。この2つを受け取って、n,sに代入します。
nは整数ですが、今回は使用しないので、「input()」のみでも大丈夫ですね。
count()メソッドを利用して、sの中に「ABC」がいくつ含まれるのかを数えて出力します。
他には、for文を使って求めることもできます。
提出
n = int(input())
s = input()
ans = 0
for i in range(n-2):
if s[i:i+3] == "ABC":
ans += 1
print(ans)
こちらはスライス機能を使って、「i 番目」から「i+2 番目」までが「ABC」であるかどうかを判定し、最終的にそれがいくつあったのかを出力しています。
スライス機能
スライスを用いてインデックスを指定すると、特定の範囲の文字列を取得することができます。
インデックスは0から始まることに注意です。
開始インデックスから終了インデックスの一つ前まで取得します。
s = "atcoder"
print(s[2:5])
# > "cod"