이전부터 궁금했던 조합 알고리즘. 조합이란 ...? nCr n개의 숫자중 r개를 뽑아서 만들수있는 조합을 구한다.... 예를 들어 [1, 2, 3] 이란 숫자 배열에서 만들수있는 조합은 [1, 2] [1, 3] [2, 3] [1,2,3] 이된다. 순열을 뽑았을 때 나오는 [2, 1] [3, 1] [3, 2] 등은 중복이라서 제거된다. 일단 기본적으로 알고리즘을 먼저 보자... public class combination { public static void main(String[] args) { //ABCD 4개를 받아서 조합을 만든다. String[] arr = {"A", "B", "C", "D"}; //자리수별 체크 1개뽑을때부터 n개 다 뽑을때까지 //n개중에 i개 뽑기 //2개부터 뽑자 boole..