주어진 배열에서 하나만 존재하는 숫자를 찾아 리턴하는 문제다.
배열에서 숫자를 하나씩 꺼내가면서, 남은 배열에 같은 숫자가 존재하지 않는 경우 리턴한다.
존재하는 경우, 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];
};
'Web development > Algorithm' 카테고리의 다른 글
[LeetCode] Longest Substring Without Repeating Characters (javascript) (0) | 2021.06.11 |
---|---|
[LeetCode] Repeated String Match (javascript) (0) | 2021.06.11 |
[LeetCode] Generate Parentheses (javascript) (0) | 2021.06.08 |
[LeetCode] 3Sum (javascript) (0) | 2021.06.08 |
[LeetCode] 104. Maximum Depth of Binary Tree (javascript) (0) | 2021.05.31 |
댓글