자바공부
-
[알고리즘 정리] 조합, 부분 집합 구현Development/Algorithm 2020. 5. 3. 20:18
다룰 내용 조합이란 무엇인가? 조합 구현 부분 집합이란 무엇인가? 부분 집합 구현 조합이란 무엇인가? 순서의 의미가 없이 수를 나열하는 것으로, 순열의 경우 순서가 의미가 있으나 조합은 의미가 없습니다. 조합을 구현하는 방법 현재 자리에서 조합할 수를 선택합니다. 조합 구현 첫 번째 방법 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class Combination { public static int N, R; public static int origin[], number[]; public static void main(Strin..
-
[알고리즘 정리] 순열, next_permutation 구현Development/Algorithm 2020. 4. 29. 01:39
다룰 내용 순열이란 무엇인가? 순열 구현 next_permutation이란 무엇인가? next_permutation 구현 순열이란 무엇인가? 순서 있게 수들을 나열하는 것으로, 원소의 순서가 의미있다면 순열입니다. 서로 다른 N개의 수 중에 R개를 선택하여 나열(nPr)로 표현할 수 있고 경우의 수를 구하면 nPr = n * n - 1 * n - 2 ~~ n - r + 1 이렇게 구할 수 있습니다. 순열을 구현하는 방법 각 자리에서 앞 쪽에 선택된 수를 배제합니다. (앞쪽에서 선택된 수를 알기 위해 boolean 배열 사용) 현재 자리에서 선택 가능한 수를 선택합니다. import java.io.BufferedReader; import java.io.IOException; import java.io.In..