Skip to content

Instantly share code, notes, and snippets.

@Wooking0310
Created January 2, 2016 04:06
Show Gist options
  • Save Wooking0310/da9842eb86abb40746df to your computer and use it in GitHub Desktop.
Save Wooking0310/da9842eb86abb40746df to your computer and use it in GitHub Desktop.
int size = 3;
int[] arrSudoku = new int[size];
for (int i = 1; i <= size; i++)
arrSudoku[i - 1] = i;
sudoku(arrSudoku, size, 0, arrList);
sudokuPrint(arrList, size);
}
public static void sudoku(int[] arr, int size, int pStart, ArrayList<Integer> arrList) {
if (pStart == size) { // 한번 pStart 가 k로 도달하면 반복문 끝.
for (int i = 0; i < size; i++) {
arrList.add(arr[i]);
}
// System.out.print(arrList);
// arrList.clear();
// System.out.println();
// System.out.println(count);
}
for (int i = pStart; i < size; i++) {
swap(arr, i, pStart);
sudoku(arr, size, pStart + 1, arrList);
//sudoku(arr, size, pStart+1, arrList, count+1);
//swap(arr, i, pStart);
}
}
// swap함수. 임의의 공간 temp를 만들고 이를 통해 인덱스 i와 j의 값을 교환.
public static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment