๋ค๋ฅธ ํ์ด๋ฅผ ๋ณด๋ XOR ์ฐ์ฐ์ ํตํด ํ ์ ์๋ ๋ฌธ์ ์ด๊ธฐ๋ ํ๋ค.
XOR ์ฐ์ฐ์ ์ ๋ ฅ๊ฐ์ด ๊ฐ์ง ์์ผ๋ฉด 1์ ๋ฐํํ๋ค.
- 0 XOR 0 = 0
- 0 XOR 1 = 1
- 1 XOR 0 = 1
- 1 XOR 1 = 0
๋ฐ๋ผ์ ๋ค์๊ณผ ๊ฐ์ด ์๊ฐํด ๋ณผ ์ ์๋ค.
A == B
: A ^ B = 0A == B != C
: A ^ B ^ C = C
์ด๋ฅผ ์ฝ๋๋ก ์ฎ๊ธฐ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
int ans = A[0];
for (int i = 1; i < A.length; i++) {
ans = ans ^ A[i];
}