class Solution:
    def totalFruit(self, fruits: List[int]) -> int:
        ans, n = 1, len(fruits)
        cur, back = 1, 0
        cnt = [(fruits[0], 0)]
        while cur < n:
            if fruits[cur] == fruits[cur-1]:
                cur += 1
            elif len(cnt) == 1 and fruits[cur] != cnt[0][0]:
                cnt.append((fruits[cur], cur))
                back = cur
                cur += 1
            elif fruits[cur] == cnt[0][0]:
                cnt.append(cnt[0])
                del cnt[0]
                back = cur
                cur += 1
            elif fruits[cur] == cnt[1][0]:
                back = cur
                cur += 1    
            elif fruits[cur] not in [cnt[0][0], cnt[1][0]]:
                ans = max(ans, cur - min(cnt[0][1], cnt[1][1]))
                del cnt[0]
                cnt[0] = (cnt[0][0], back)
                cur = back
        return max(ans, cur - min(cnt[0][1], cnt[1][1])) if len(cnt) == 2 else n
               


와 오늘 문제 진짜 안 풀리네...

deque 쓸까하다가 del 썼는데 병신짓인거 같음