var xorOperation = function(n, start) {
return new Array(n).fill(n).map((_, i) => start + 2 * i).reduce((acc, cur) => acc ^ cur);
};
var xorOperation = function(n, start) {
let res;
for(let i=0; i<n; i++) {
res = res ^ (start + 2 * i)
}
return res;
};
처음에는 Solution 1 처럼 길이가
n
인 배열을 만든 후 map 메소드를 이용해서 조건에 맞게 요소를 채워넣은후 reduce 메소드를 이용해서 결과를 리턴했다.
근데 다시 생각해보니 굳이 배열을 만들 필요없이 for문을 이용해서 XOR 연산값을 바로바로 누적시킬 수 있었다.여기서 XOR 연산이란 두 명제 중 하나만 참이어야만 참을 돌려주는 연산이다. 즉, 두 명제의 참거짓 여부가 다를 때 참을 돌려준다.