본문 바로가기

공부/Algorithm

[JS] XOR을 사용하여 temp 를 사용하지 않고 swap하는 방법

XOR (exclusive OR : 배타적 논리합)

다르면 1, 같으면 0을 반환하는 XOR

 

XOR을 사용하여 let temp 를 사용하지 않고 swap하는 방법

비트 연산을 사용하는 방법인데, 변수를 할당하지 않는 특이한 방법이라 신기했다

 

예를 들어 5,7의 순서를 바꾸어 보자

w = 5 = 0101

h = 7 = 0111

 

w^=h : 0010 // 2 (w = w^h)

h^=w : 0101 // 5 (h = h^w)

w^=h : 0111 // 7 (w = w^h)

 

따라서 w,h 는 swap 되었다 빠밤