Algorithmビット演算子


🌼 ビット演算子


ビット演算子は、演算子によって32ビット(0および1)セットとみなされます.演算はバイナリ表現を使用しますが、結果は標準JavaScript値を返します.
// Bit Operation 

 0 1 1 0     0 1 1 0       0 0 1 1  위에서 아래를 곱해 줌
+0 0 1 0    -0 0 1 1      *0 1 0 1
---------   ---------     ---------
 1 0 0 0     0 0 1 1       0 1 0 1
                        +0 1 0 1 0
                        -----------
                           1 1 1 1 

😥 Question?

직사각형을 만드는 데 필요한 4개의 점 중 3개의 좌표가 주어질 때, 나머지 한 점의 좌표를 구하시오.

작성한 코드)
const v = [[1, 4], [3, 4], [3, 10]];
function solution(v) {
    let answer = [0, 0];
    
    for (let position of v) {
        answer[0] ^= position[0];
        answer[1] ^= position[1];
    }
    
    return answer;
}

😏 Idea!


長方形を作成するには、既存の座標値のうち2つ以上重複していない数字を見つけることができます.ビット演算子でXORを使用する場合、同じ数字の間でXORを使用する場合、結果は0、0で残りの1つの数字を使用してXOR演算を行い、結果は残りの数字であり、ビット演算により結果を容易に知ることができる.( 예시: A XOR B XOR A = B )
出典:YOUTUBE-エンジニア大韓民国、MDN-bit演算子