var singleNumber = function(nums) {
if(nums.length === 1) return nums[0];
let result = [];
nums.sort((a, b) => a - b);
for(let i = 0; i < nums.length; i++) {
if(nums[i] !== nums[i-1] && nums[i] !== nums[i+1]) {
result.push(nums[i]);
}
}
return result[0];
};
// 다른 분의 풀이
var singleNumber = function(nums) {
var result = nums[0];
for(var i = 1; i < nums.length; i++) {
result ^= nums[i];
}
return result;
};
비트 XOR 할당 ( x ^= y )
: 양쪽 피연산자의 이진 표현을 XOR 연산한 후, 그 결과를 변수에 할당var bar = 5; bar ^= 2; // 7 // 5: 00000000000000000000000000000101 // 2: 00000000000000000000000000000010 // ----------------------------------- // 7: 00000000000000000000000000000111