AtCoder ABC 122 B – ATCoder Python解説

スポンサーリンク

ATCoder

英大文字からなる文字列 S が与えられます。S の部分文字列 (注記を参照) であるような最も長い ACGT 文字列 の長さを求めてください。ACGT 文字列とは ACGT 以外の文字を含まない文字列です。

AtCoder Beginner Contest

与えられる文字列をひとつずつ見て、文字がA,C,G,Tならカウントを増やし、それ以外の文字だったらカウントを0に初期化するように実装したいと思います。

s = input()

cnt = 0
ans = 0
a = ["A", "C", "G", "T"]
for i in s:
    if i in a:
        cnt += 1
        ans = max(ans, cnt)
    else:
        cnt = 0
        
print(ans)
    

A,C,G,Tはリストで用意しました。文字がA,C,G,Tならカウントを増やしていき、max関数でACGT文字列の長さの最大値を求めています。

AtCoderB問題

Posted by cheese