본문 바로가기
My Image
반응형

recursion2

[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.
[DFS] 경로찾기(Find Directions) BackJoon #11403 - 경로찾기(Find Directions) https://www.acmicpc.net/problem/11403 위 문제는 DFS 탐색 예제입니다... DFS는 보통 재귀함수 (Recursion)을 사용하는데, 재귀함수에 대한 연습도 할 겸 풀어보시면 좋습니다. 우선 기본적으로 DFS 재귀함수를 통해 i에서 j로가는 경로가 있는지 c 1차원 배열에 경로 여부를 체크합니다. 또한, 다음 경로탐색을 위해 Arrays.fill 메서드를 이용 0으로 초기화 해줍니다. n+1로 n값에 +1을 한 이유는 편의상 배열의 첨자와 정점의 싱크를 맞추기 위해서 입니다. 0번 인덱스는 신경쓰지 않으셔도 됩니다. 즉 정점은 1부터 시작하니 그냥 2차원배열이든 1차원배열이든 1첨자로 부터 시작하기 위.. 2017. 11. 22.
반응형