본문 바로가기
My Image
반응형

재귀함수3

[Algorithm] JAVA 중복 순열 알고리즘 (재귀) 안녕하세요. Limky 입니다. 이번시간에는 경우의 수 중에 순열에 대해서 알아보겠습니다. 헌데, 순열은 순열이지 왜 중복순열이라고 했을까요?? 당연 중복순열과 중복되지 않는 순열은 조금 다릅니다. 자기자신을 포함하냐 안하냐에 따라 순열과 중복순열로 구분합니다! 예제를 들어 설명해보겠습니다. 여기 구슬 3개가 있습니다. 1, 2, 3 중복이 없는 순열은 자기자신을 제외하고 모든 경우의 수를 생각하는 것입니다. 3개의 구슬중에 2개를 뽑는 경우의 수는 아래와 같습니다. 1, 2 1, 3 2, 1 2, 3 3, 1 3, 2 입니다. 총 3 X 2 = 6가지 이지요? 하지만!! 중복순열은 다릅니다. 자기자신을 포함하죠.... 똑같이 구슬 3개가 있습니다. 1, 2, 3 중복을 허용해서 뽑으면 아래와 같습니다... 2019. 2. 21.
[BackJoon] 백준 2667 단지번호 붙이기(DFS) 백준 DFS 문제 #2667 - 단지번호붙이기 https://www.acmicpc.net/problem/2667 사용한 개념 1) DFS 저는 깊이탐색을 사용했습니다. 우선, 2차원 배열에서 0이 아닌 1인 경우에 깊이탐색을 시작하여 인접해있는 1을 모두 찾게합니다. 그 다음 다시 탐색을 이어가 0이 아닌 1인경우 다시 깊이탐색을 시작합니다. 여기서 달라지는 점은, 이미 탐색을 했다라는 표시를 하기 위해 임시 변수 값이 CNT의 값을 증가시켜 해당 값으로 매핑시켜 표시합니ㅁ다. 따라서.. 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 0 0 1 인 경우, 2 2 0 0 0 2 0 0 0 0 0 0 0 3 3 4 4 0 3 3 0 4 0 0 3 위와 같이 매핑되는 것입니다... 2018. 12. 4.
[Algorithm] JAVA로 중복이 없고, 순서도 없는 조합(Combination) 구하기! JAVA로 중복이 없고, 순서도 없는 조합(Combination) 구하기! 이번 시간은 JAVA로 중복이 없는 조합을 구하는 방법에 대해 알아보겠습니다. 우선 1,2,3 구슬이 있습니다. 3개중에 2개를 뽑는다고 했을때, 모든 경우의 수는 다음과 같습니다. 1,2 1,3 2,1 2,3 3,1 3,2 총 6가지 입니다. 팩토리얼 개념으로 접근하면 3*2 = 6 가지임을 알 수 있습니다. 이제 여기서 중복을 제거한 경우의 수만 따진다면, 1,2 1,3 2,3 총 3가지 입니다. 이를 조합이라고 합니다. 수학적인 기호로 나타내면! nCr 입니다. 즉, 중복이 없고, 순서도 없는 경우의 수(조합)입니다. n은 총 갯수, r 은 뽑아야 할 갯수 입니다. 저는 배열과 재귀함수를 통해 nCr에 대해서 구해보겠습니다... 2018. 6. 13.
반응형