본문 바로가기
Web development/Algorithm

[LeetCode] Single Number (javascript)

by 자몬다 2021. 6. 11.

주어진 배열에서 하나만 존재하는 숫자를 찾아 리턴하는 문제다.

 

배열에서 숫자를 하나씩 꺼내가면서, 남은 배열에 같은 숫자가 존재하지 않는 경우 리턴한다.

존재하는 경우, splice로 확인한 숫자를 제거한다.

/**
 * @param {number[]} nums
 * @return {number}
 */
var singleNumber = function(nums) {
    const count = Math.floor(nums.length/2);
    
    for(let i = 0; i < count; i++){
        const item = nums.shift();
        const index = nums.findIndex((n)=> n===item);
        if(index > -1) {
            nums.splice(index, 1);    
        } else {
            return item;
        }        
    }
    return nums[0];
};

 

 

 

 

https://leetcode.com/problems/single-number/

댓글