DFS1 [백준] (Swift) N과 M (2) 15650번: N과 M (2) 📌 풀이 중복되지 않아야 하는 수열이므로 조합을 구현하는 문제이다. 그렇다면 조합을 어떻게 구현할까? 바로 백트래킹 알고리즘으로 구현하면 된다. 백트래킹(Backtracking) - DFS로 구현 1. 배열 2개를 만든다. 백트래킹의 진행 과정에 대한 배열 `sequence` 노드의 방문 여부에 대한 배열 `visited` 2. DFS 함수를 정의하여, Base Case와 Recursive Steps에 대한 알고리즘을 세운다. Base Case: 깊이의 끝에 도달했을 때 여태 쌓인 진행 과정을 원하는 형식으로 변환하여 출력 Recursive Steps: `N`만큼 반복하되, 방문하지 않은 노드이면 방문 처리를 하고 다음 노드에 대한 재귀함수를 호출한다. (조건문에 도달하지 .. 2023. 4. 30. 이전 1 다음 반응형