문제 링크

요약

  • XOR 을 활용하자

최종

  • 같은 수가 XOR 되면 0 이 된다. 이 점을 이용하면 그냥 int 변수 하나에 모든 숫자를 XOR 하면 같은 수는 전부 0으로 날라가고 하나만 있는 숫자가 튀어나오는 매-직
class Solution {
public:
	int singleNumber(vector<int>& nums) {
		int xord = 0;
 
		for (int num : nums) {
			xord ^= num;
		}
 
		return xord;
	}
};

다른 풀이

Bitmap Set

  • BMS 를 사용하는건 메모리 사용량이 엄청 크다는 단점과 빠르게 생각해내어 풀 수 있다는 장점이 있는 풀이다.