좋은 질문 감사합니다. 이 문제를 ‘선택 번복 하기’라는 주제에 묶은 이유이기도 합니다. 여러 개의 옵션 중에 선택을 해야하는 유형의 문제에서는 관찰을 위해 과감하게 선택 을 해볼 수 있을겁니다. 그런 과감한 선택은 최적이 아닐 수 있으니 적절히 번복하여 최적의 해를 찾아보려는 시도를 해볼 수 있을 것입니다. 제 결론은, 문제가 선택을 하는 문제이고, 선택이 독립적이라 각각을 자유롭게 번복 가능하다면, 과감한 선택 & 번복을 의식적으로 시도해 보면 문제 해결의 실마리가 나올수도 있다는 것입니다. 도움이 되었으면 좋겠습니다. 감사합니다.
순열과 Combination을 통해 코딩 테스트 수준의 모든 Brute Force 문제를 풀 수 있다고 장담은 못드리겠습니다. 다만 상당 수의 Brute Force 문제들이 순열과 Combination을 잘 활용하면 BFS/DFS의 구현 없이 풀릴 수 있을 것 같네요. 그래도, BFS/DFS로 구현하는 것이 편한 케이스도 많을 것이기 때문에 추가적인 공부를 하시면 도움이 될 것 같습니다! 감사합니다.