import collections
class Solution:
def characterReplacement(self, s: str, k: int) -> int:
answer = 0
lt, rt = 0, 0
counter = collections.Counter()
while rt < len(s):
counter[s[rt]] += 1
# ltλΆν° rtκΉμ§ κ°μ₯ λ§μ λ¬Έμμ κ°μ
most_common = counter.most_common(1)[0][1]
# λ°κΏμΌ ν λ¬Έμ μ
remain = rt - lt + 1 - most_common
# λ°κΏμΌ ν λ¬Έμ μκ° λ°κΏ μ μλ λ¬Έμ μλ³΄λ€ λ§μ λ
if remain > k:
counter[s[lt]] -= 1
# ltλ₯Ό μ¦κ°μμΌ μλμ° μλ₯Ό μ€μ
lt += 1
answer = max(rt - lt + 1, answer)
rt += 1
return answer
Leave a comment