[Leetcode] 2024. Maximize the Confusion of an Exam - 파이썬, 투포인터
접근
- 슬라이딩 윈도우 (투포인터)
연속되는 T of F의 최대 길이를 구하는 문제이다. 투 포인터를 활용하여 left ~ right을 유지하면 될 것 같다. 변경할 수 있는 token이 k개만큼 주어지는데, token이 없을 때마다 left를 1만큼 옮겨 길이를 유지할 수 있다.
풀이
class Solution:
def maxConsecutiveAnswers(self, key: str, k: int) -> int:
answer = 0
for char in ["T", "F"]:
left = 0
token = k
for right in range(len(key)):
if key[right] == char:
if token < 0:
if key[left] != char:
token += 1
left += 1
elif token > 0:
token -= 1
else:
if key[left] != char:
token += 1
left += 1
token -= 1
answer = max(answer, right - left + 1)
return answer