def sol(nums):
count = Counter(nums)
for 숫자, 횟수 in count.items():
for i = 0...횟수 - 2:
nums에서 숫자 remove
return nums의 길이
from collections import Counter
class Solution:
def removeDuplicates(self, nums: List[int]) -> int:
for k, v in Counter(nums).items():
if v <= 2:
continue
for _ in range(v - 2):
nums.remove(k)
return len(nums)
나는 미리 counter를 통해 요소의 개수를 세 두고, 2를 넘는 요소에 대해서 삭제를 진행했다. O(n)의 remove 메서드가 사용되었다는 단점이 있다.
다른 사람의 코드를 보면서, 인덱스로 2칸 앞의 값과 비교하면서 배열요소를 변경한 방식도 알게 되었다.