LeetCode - 2341. Maximum Number of Pairs in Array

henu·2023년 10월 30일
0

LeetCode

목록 보기
131/186

Solution

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]
};

Explanation

Hash Table을 사용해서 해결하였다.
1. nums배열을 순회하는데 이 때 Hash Table에 동일한 정수가 존재할 경우 해당 프로퍼티를 삭제하고 count를 1증가시킨다.
왜냐하면 동일한 정수가 2개일 경우 제거할 수 있고 이 행위가 연산 1회이기 때문이다.
2. 동일한 정수가 존재하지 않을 경우 프로퍼티를 추가한다.
3. for문을 마치게되면 제거되지않은 정수만 남게된다. 그러면 형식에 맞춰서 결과를 리턴해주면된다.

0개의 댓글