CodingTest/LeetCode

[LeetCode] 136. Single Number, Easy

뜸부깅 2025. 4. 8. 15:11
반응형

1. 문제

  • 정수 배열 nums가 주어질 때, 하나의 정수는 오직 1개 들어있으며 그 외는 2개 씩 들어 있다고 할때 1개만 들어있는 정수를 반환하라.

2. 해결

function singleNumber(nums: number[]): number {
    const set = new Set<number>();
    
    for(let i = 0; i< nums.length; i++) {
        if(set.has(nums[i])) {
            set.delete(nums[i]);
        } else {
            set.add(nums[i])
        }
    }
        
    return Array.from(set)[0];
};
  • Set을 이용해서 특정 요소가 없으면 넣어주고 있으면 삭제한다.
  • 1번 등장하는 정수를 제외하고 나머지는 2번 씩 등장하므로 추가 -> 삭제 될 수 밖에 없다.
  • Set에 남은 1개가 정답.