본문 바로가기
Coding Test/LeetCode

[Javascript] (LeetCode)136. Single Number (Easy)

by Chaedie 2022. 7. 25.
728x90

[Javascript] (LeetCode) 136. Single Number (Easy)

💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다.

내 풀이

/**
 * @param {number[]} nums
 * @return {number}
 */
var singleNumber = function(nums) {
  return nums.filter((x, i) => nums.indexOf(nums[i]) === nums.lastIndexOf(nums[i]))[0];
};
  • 다른 사람 풀이

function singleNumber(nums) {
    return nums.reduce((prev, curr) => prev ^ curr);
}
  • xor을 사용하면 같은지 다른지 알수 있다.
  • reduce와 xor을 활용해 이렇게 만들수 있다고 한다.
  • 잘 이해가 안된다. 다음에 bit manipulation 문제를 많이 접하고 나서 이 문제를 다시 봐야겠다.

댓글