taejune9721   3년 전

흔히 모든 경우의 수를 탐색한다는 완전탐색을 브루트포스라고 하는데

백트래킹은 이와 달리 가지치기라는, 조건에 해당되지 않는다면 진행하지 않는 차이점이 있다는 것으로 둘의 차이점이 있다고 설명이 많더라구요 ㅜ


보통 재귀방식을 백트래킹이라고 하고, 반복문 방식을 브루트포스라고 하는줄 알았는데

조건이 있고 없고의 차이로 백트래킹과 브루트포스가 갈린다는 설명이 많은 것 같습니다.


대표적으로 15649번은 뽑은 경우에 대해서는 돌아보지 않는다는게 브루트포스가 아니라고 설명받는 것 같은데

블랙잭의 경우, 포문을 구성할 때 포문 변수가 '이미 뽑은 이전 변수 +1' 의 경우이므로 마찬가지로 가지치기 기능을 하고 있는 것 아닌가요?


백트래킹이 포문으로도 구현될 수 있는지, 그렇다면 이 블랙잭 문제가 백트래킹에 속하는 것이 아닌지.. 궁금합니다!!

읽어주셔서 감사드립니다.

jb0830   3년 전

3중 반복문에서 3번째 반복문을 실행 후 2번째 반복문을 다시 실행하는 과정을

재귀로 구현한 코드에서 현재 실행 중인 함수를 호출한 곳으로 돌아가는 과정으로 비유하면

백트래킹 기법을 적용했다고 봐도 무방한 것 같습니다.

저는 백트래킹을 브루트 포스를 수행하는 방법 중 하나로 보는 게 편하더라구요

taejune9721   3년 전

답변 감사드립니다!!

댓글을 작성하려면 로그인해야 합니다.