<Algorithm> 28. 10974번 모든순열
by BFine반응형
1. 10974번 모든순열
다음 순열에서 출력을 계속해주는 재귀 형태로 풀이
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); int[] arr = new int[N]; for(int i = 0; i < N ; i++) { arr[i] = i + 1; System.out.print(arr[i]+" "); } System.out.println(); permutation(arr); } public static void permutation(int arr[]) { int i = arr.length - 1; int j = arr.length - 1; while(i >0 && arr[i - 1] > arr[i]) { i--; } if(i == 0) return; while(j > 0 && arr[i - 1] > arr[j]) { j--; } int temp = arr[i - 1]; arr[i - 1] = arr[j]; arr[j] = temp; j = arr.length - 1; while(i < j) { temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; i++; j--; } for(i = 0; i < arr.length ; i++) { System.out.print(arr[i]+" "); } System.out.println(); permutation(arr); } } | cs |
반응형
'공부(2018~2019) - 스킨변경전 > Algorithm' 카테고리의 다른 글
<Algorithm> 30. 1012번 유기농 배추 (0) | 2018.08.03 |
---|---|
<Algorithm> 29. 11724번 연결요소의 개수 (0) | 2018.08.03 |
<Algorithm> 27. 4673번 셀프넘버 (0) | 2018.08.02 |
<Algorithm> 26. 1010번 다리놓기 (0) | 2018.08.02 |
<Algorithm> 25. 1032번 명령 프롬프트 (0) | 2018.08.02 |
블로그의 정보
57개월 BackEnd
BFine