class Solution:
    def removeOccurrences(self, s: str, part: str) -> str:
        stack = []
        n = len(part)
        for ss in s:
            stack.append(ss)
            if len(stack) >= n and ''.join(stack[-n:]) == part:
                for _ in range(n): stack.pop()
        return ''.join(stack)


분명히 O(n^2)이 아닌 O(n) 테크닉이 있을텐데, 길이가 1000이라서 그냥 해버렸다. 약간 더 고민해봐야지.