본문 바로가기

알고리즘/복습8

[Java] 조합 조합 : 서로다른 N개의 원소에서 R개를 중복없이 순서에 상관없게 선택하는 것 ([1,2] 와 [2,1]은 같다) [입력] 4 2 1 2 3 4 [출력] [1, 2] [1, 3] [1, 4] [2, 3] [2, 4] [3, 4] [변수] - N, R : 존재하는 원소의 수, 뽑을 원소의 갯수 - input : 존재하는 원소들을 담고있는 배열 - numbers : 뽑은 원소들을 담고있는 배열 - cnt : 뽑은갯수를 파악하기 위한 인자값 - start : 현재 뽑은수의 다음 수 부터 뽑기 위해 전달하는 인자값 조합은 순열과 달리 순서에 상관이 없으므로, 다음 수는 현재 뽑은값의 다음 수로 제한하면 중복을 방지할 수 있다. import java.util.Arrays; import java.util.Scann.. 2022. 3. 14.
[Java] 순열 순열 : 서로다른 N개의 원소에서 R개를 중복없이 순서에 상관있게 선택하는 것 [입력] : 4개 원소(1,2,3,4)중에서 2개뽑기 4 2 1 2 3 4 [출력] [1, 2] [1, 3] [1, 4] [2, 1] [2, 3] [2, 4] [3, 1] [3, 2] [3, 4] [4, 1] [4, 2] [4, 3] [변수] - N, R : 존재하는 원소의 수, 뽑을 원소의 갯수 - input : 존재하는 원소들을 담고있는 배열 - numbers : 뽑은 원소들을 담고있는 배열 - isSeletcted : 중복을 방지하기 위해 선택된 수의 정보를 표시하는 배열 - cnt : 뽑은갯수를 파악하기 위한 인자값 [풀이] 재귀를 이용해서 순열을 구현한다. 첫번째 원소부터 마지막원소까지 접근할 수 있어야 하므로, 반복.. 2022. 3. 14.