Menu
CoddyTech

Longest Repeating Character Replacement

대문자 영문자로 이루어진 문자열 s와 정수 k가 주어집니다. s에서 최대 k개의 위치를 선택하고, 각 위치의 문자를 다른 대문자로 바꿀 수 있습니다.

변경을 완료한 후 동일한 문자가 반복되는 가장 긴 부분 문자열, 즉 서로 인접한 문자들의 연속 구간의 길이를 반환하세요.

함수

characterReplacement(s: string, k: integer) → integer
sstring
대문자 문자열
kinteger
변경할 수 있는 최대 글자 수
반환값integer
만들 수 있는, 같은 문자가 반복되는 가장 긴 부분 문자열의 길이

제약 조건

  • 1 ≤ s.length ≤ 5 × 104
  • s에는 영어 대문자만 들어 있습니다.
  • 0 ≤ k ≤ s.length

예제

입력
s = "BAAACAB"k = 1
출력
5
설명
C를 A로 바꾸면 인덱스 1부터 5까지가 AAAAA가 됩니다. 6글자로 이루어진 두 구간 모두 B와 C를 포함하므로 두 번 바꿔야 합니다.
challenge icon

후속 질문

26개의 대문자 대신 s에 어떤 문자든 저장할 수 있다면 무엇이 달라질까요?

코드 초기화
def characterReplacement(s, k):
    # 여기에 코드를 작성하세요

테스트 #1

테스트 #2

테스트 #3

인자들

s = "BAAACAB"
k = 1

예상 출력

5