AtCoder ABC 150 B – Count ABC Python解説

スポンサーリンク

Count ABC

英大文字のみからなる長さ N の文字列 S があります。
S の連続する部分列 (入出力例をご覧ください) として ABC がいくつ含まれるかを求めてください。

AtCoder Beginner Contest 「Count ABC」

文字列Sの中にABCがいくつ含まれるか調べる問題です。全探索できるのでfor文とスライスを使っていきます。

n = int(input())
s = input()

cnt = 0

for i in range(n - 2):
    if s[i: i + 3] == "ABC":
        cnt += 1
        
print(cnt)

for文ではABCの連続した3文字をスライスで抜き取るためn-2までが範囲になります。
s[i: i + 3]で任意の3文字を抜き取り、それがABCだった場合はcnt+1をして、最後にcntを出力して完了です。

他にcountを使った解き方もあります。

n = int(input())
s = input()

print(s.count("ABC"))