LeetCode - 1486. XOR Operation in an Array

henu·2023년 9월 4일
0

LeetCode

목록 보기
45/186

Solution 1

var xorOperation = function(n, start) {
    return new Array(n).fill(n).map((_, i) => start + 2 * i).reduce((acc, cur) => acc ^ cur);
};

Solution 2

var xorOperation = function(n, start) {
    let res;

    for(let i=0; i<n; i++) {
        res = res ^ (start + 2 * i)
    }

    return res;
};

Explanation

처음에는 Solution 1 처럼 길이가 n인 배열을 만든 후 map 메소드를 이용해서 조건에 맞게 요소를 채워넣은후 reduce 메소드를 이용해서 결과를 리턴했다.
근데 다시 생각해보니 굳이 배열을 만들 필요없이 for문을 이용해서 XOR 연산값을 바로바로 누적시킬 수 있었다.

여기서 XOR 연산이란 두 명제 중 하나만 참이어야만 참을 돌려주는 연산이다. 즉, 두 명제의 참거짓 여부가 다를 때 참을 돌려준다.

0개의 댓글