부분집합을 구하는 방법 중 재귀함수와 비트연산자를 이용하는 방법은 다음과 같다. ① 재귀함수 이용 예: 집합 {a, b, c, d}에서 {a,b}는 a,b는 포함되어 있고 c,d는 포함되어 있지 않다. 포함안될 때와 될 때 두 가지 경우를 checked[]배열에 표시하고, 재귀함수로 돌린다. 즉, 각 원소에 대하여, (포함X, 포함X, 포함X, 포함X) ~ (포함O, 포함O, 포함O, 포함O) 까지를 모두 탐색한다. public static void main(String[] args) { String[] arr = {"a", "b", "c", "d"}; boolean[] checked = new boolean[arr.length]; //포함여부 체크 makeset1(arr, checked, 0); // ..