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 |