비트마스크(BitMask)
비트마스크에 공부하기 앞서 기본적인 비트연산에 대해 알아야 한다. 비트연산이랑 &(AND), |(OR), ^(XOR), ~(NOT), (Shift Right) 로 이루어진 bit 간의 연산을 수행하는 것이다. 해당 연산들을 통해 비트마스크를 이용할 수 있는데, 비트마스크란 쉽게 말해 정수로 집합을 나타낼 수 있는 것이다. 570 = 1000111010 = 2^9 + 2^5 + 2^4 + 2^3 + 2^1 으로 나타내서 1,3,4,5,9의 부분집합을 뜻하는 것이다. 배열보다 정수(비트마스크)로 쓰면 공간적인 장점, 다른 배열에 넣을 수 있는 점. 0~N-1 의 정수로 이루어진 집합을 나타낼 수 있다. (1~N 을 쓰려면 2배의 수가 필요 -> 따라서 줄여서 쓰기) 비트마스크 연산 S & (1