var numberOfPairs = function(nums) {
const hash = {}
let count = 0
for(let num of nums) {
if(hash[num]) {
count++
delete hash[num]
} else {
hash[num] = 1
}
}
return [count, Object.keys(hash).length]
};
Hash Table을 사용해서 해결하였다.
1.nums
배열을 순회하는데 이 때 Hash Table에 동일한 정수가 존재할 경우 해당 프로퍼티를 삭제하고count
를 1증가시킨다.
왜냐하면 동일한 정수가 2개일 경우 제거할 수 있고 이 행위가 연산 1회이기 때문이다.
2. 동일한 정수가 존재하지 않을 경우 프로퍼티를 추가한다.
3. for문을 마치게되면 제거되지않은 정수만 남게된다. 그러면 형식에 맞춰서 결과를 리턴해주면된다.