[Leetcode] 1486. XOR Operation in an Array (JS)

OROSY·2021년 5월 2일
0

Algorithms

목록 보기
17/38
post-thumbnail

출처

1486. XOR Operation in an Array

문제

나의 코드

이전에 배웠던 XOR 비트 연산자가 등장해줬다. 이전에 배웠던 개념을 토대로 문제를 풀이하는 과정은 어렵지 않았지만, 결과에서 Type Error가 발생하였다.

for (let i = 0; i < n; i++) {
  return nums.push(start + 2 * i).reduce((x, y) => x ^ y)
}

처음에는 이처럼 문제를 해결하려고 했는데 계속 에러가 발생해서 문제가 무엇인지 골똘히 생각해보았다. 그랬더니 단순하게도 for를 통해 나온 결과값인 배열에 연산을 적용해야하는데 그렇게 되지 않아 에러가 발생했던 것!

1
2
3
4
5
6
7
var xorOperation = function(n, start) {
    const nums = []
    for (let i = 0; i < n; i++) {
         nums.push(start + 2 * i)
    }
    return nums.reduce((x, y) => x ^ y)
};
cs

다른 코드

그리고 이처럼 매우 간단하게 실제로 ^ 비트 연산자를 사용해서 문제를 풀 수도 있다는 점! 이 점은 몰랐으니 기억해두면 유용할 수 있을 것 같다.

1
2
3
4
5
6
7
var xorOperation = function(n, start) {
    let xor = 0
    for (let i=0; i<n ; i++){
        xor ^= start + 2 * i
    }
    return xor
};
cs

실행 결과

profile
Life is a matter of a direction not a speed.

0개의 댓글