前提・実現したいこと
atcoder beginner contest122のB問題"ATcoder"を解いています。
ABC122 B ATcoder
他の人のコード等を見て解き方は理解できたのですが、自分のソースコードのどこが誤っていて動いていないのかが理解できません。
具体的には、li.append(count)
をしているのに、リストにcountが追加されていないようです。
間違いを教えてくださるとありがたいです。
追記:
皆様のアドバイスを受けて、コードを変更しました。
具体的には、入力が1文字であった時にエラーが起こらないように修正いたしました。
修正後のコードを追記します
ソースコード(修正前)
python
1S = list(input()) 2n = len(S) 3count = 0 4li = [] 5for i in range(n): 6 if S[i] == "A" or "C" or "G" or "T": 7 count += 1 8 else: 9 li.append(count) 10 count = 0 11print(max(li))
###ソースコード(修正後)
python
1S = list(input()) 2n = len(S) 3count = 0 4li = [] 5for i in range(n): 6 if i != n-1: 7 if S[i] == "A" or S[i] == "C" or S[i] == "G" or S[i] == "T": 8 count += 1 9 else: 10 li.append(count) 11 count = 0 12 if i == n-1: 13 count += 1 14 li.append(count) 15if len(S) == 1: 16 if S[0] == "A" or S[0] == "C" or S[0] == "G" or S[0] == "T": 17 print(1) 18 else: 19 print(0) 20else: 21 print(max(li))
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。