📖 문제 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 💡 풀이 방식 • 비트마스크 1. 각 그룹의 인원정보를 숫자 하나로 표현하며, 비트마스크를 이용해 인원 수를 새롭게 추가한다. arr[i] ^= (1
📖 문제 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 💡 풀이 방식 • 비트마스크 1. 서로 다른 3개의 숫자를 고른다. (완전탐색) 2. 세 숫자의 bit가 서로 겹치지 않는지 확인한다. (& 연산자 활용해 결과가 0인지 확인) // bit가 서로 겹치지 않음 = & 연산하고 결과가 0일 때 private static boolean chkBitOverlap(int a, int b, int c) { return ((a & b) == 0 && (a & c) == 0 && (b & c) == 0); } 3. 세 숫자의 bit가 서로 겹치지 않는 경우,..
🧩 비트마스크 연산자 1. and 연산자 (&) - 둘 다 1일 때만 1, 아니라면 0이 되는 연산 2. or 연산자 (|) - 둘 중 하나라도 1이라면 1, 아니라면 0이 되는 연산 3. xor 연산자 (^) - 두 bit가 다른 값이라면 1, 같은 값이라면 0이 되는 연산 4. left shift 연산자 (> k) & 1) == 1 : 0인지 1인지로 판단 (1이면 존재, 0이면 X) - 괄호를 잘 쳐주지 않으면 에러가 난다. 2. 수 새롭게 추가 / 삭제 (^) x ^ (1
📖 문제 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 💡 풀이 방식 • 비트마스크 - 시간 복잡도 : O(Q) 1) add 연산 , delete 연산 : 숫자 x가 집합 A에 들어가 있는지 확인 if(((S >> x) & 1) == 0)// add 연산 : 집합에 없는 경우, 새로 추가 S ^= (1 > x) & 1) == 1)// delete 연산 : 이미 집합에 들어있는 수인 경우, 제거 S ^= (1 > x) & 1); 3) toggle 연산 : 집합 S에 수가 있다면 제거, 없다면 추가 S ^= (1 0) { String[] str = br..