현재 나온 숫자를 Map
자료구조에 담아 빈도를 정의하고 2회 이상 출연했다면 이후 부터는 원본 배열에서 제거하도록 구현하였음
function removeDuplicates(nums: number[]): number {
const numMap = new Map()
for(let i = 0; i < nums.length; i++) {
const num = nums[i]
numMap.set(num, numMap.has(num) ? numMap.get(num) + 1 : 1)
if(numMap.has(num) && numMap.get(num) > 2) {
nums.splice(i, 1)
i--
}
}
return nums.length
};