어려운 비트마스크
비트마스크는 알고리즘을 풀 때 간간히 필요합니다.
비트마스크 없이는 못 푸는 문제를 점점 많이 접하게 되서 공부차 올립니다.
비트마스크를 사용한 코드의 장점
- 더 빠른 수행 시간
- 더 간결한 코드
- 더 작은 메모리 사용량
- 연관 배열을 배열로 대체 : boolean으로 체크하는 배열을 비트마스크를 써서 int[]로 나타낼 수 있다. 큰 시간과 메모리 차이를 불러온다.
비트마스크 사용법
8개의 비트를 사용하고자 한다.
int bitmask를 비트마스크 변수로 선언한다.
비트는 맨 오른쪽 비트가 0번 비트고 총 8개 비트면 0~7의 범위를 갖는다.
bitmask 변수의 우측 8개 비트만 사용한다는 것이다.
비트 상태 0 : 꺼짐. 1 : 켜짐
이런식이 된다.
배열로 표현한다면 idx[8]={1,2,4,8,16,32,64,128}; 이 된다.
idx[n]==(1«n) 이다. 연산자 우선순위에 유의한다