[알고리즘/Swift] 그래프탐색(DFS/BFS) - 타겟넘버, 네트워크, 단어변환, 여행경로
1. 타겟 넘버 (DFS) 1을 더하거나 뺄 수 있기 때문에, 더하거나 빼는 경우에 대해 한번씩 DFS 를 수행해준다. 이를 그래프로 그려보면 이해하기 쉽다. 숫자를 하나 더하거나 빼는 것을 그래프의 깊이 탐색이라고 생각하면 된다. import Foundation func dfs(numbers: [Int], target: Int, i: Int, total: Int) -> Int { if i == numbers.count { return total == target ? 1 : 0 } let count1 = dfs(numbers: numbers, target: target, i: i+1, total: total - numbers[i]) let count2 = dfs(numbers: numbers, targe..
2021. 7. 21.