#--------- 入力例 ---------- s = "FisHDoGCaTAAAaAAbCAC" #--------------------------- words = [] # 単語のリスト
# 文字列 s を単語ごとに分解する i = 0 while i < len(s): j = i + 1# s[j] が大文字になる j を見つける while j < len(s) and s[j].islower(): j += 1 # 単語を切り出してリストに追加 words.append(s[i:j + 1])
i = j + 1# i を j + 1 に移動
# 単語を大文字小文字を無視した状態でソート words = sorted(words, key=str.lower)
res = 0 for p inrange(m // 5 + 1): # グーを出せる回数分ループ c = (m - p * 5) // 2# チョキの回数を求める g = n - p - c # グーの回数を求める if g < 0: # グーの回数がマイナスの場合パス pass elif p * 5 + c * 2 == m: # 指の合計本数が指定回数と同じ場合 x = min(cnt_g, p) + min(cnt_p, c) + min(cnt_c, g) res = max(res, x)