///
Search
▶️

Back-Tracking(Advanced Brute-Force Algorithm)

1. Back-tracking(Advanced Brute-Force Algorithm)

Back-tracking
모든 경우를 시도해 보는 코드(완전 탐색)를 구현하기가 까다로운 경우에 사용할 수 있습니다.
(가령, 문제의 크기 N에 따라 N중 반복문을 구현해야 하는 경우)
재귀호출을 이용하여 편리하게 구현할 수 있습니다.
ex) 순열 구하기

2. Back-tracking Idea

func doRecursion(_ x: Int) -> Void { //x 번째 for문을 실행 if x > n { print(numbers) } else { for i = 1 ~ n { if 아직 숫자 i가 없다면, x번째 for에서 숫자 i를 등록하고, doRecursion(x + 1) } } }
Swift
복사