인프런 커뮤니티 질문&답변
3-q 질문
해결된 질문
작성
·
17
답변 2
0
안녕하세요 ㅎㅎ
이 문제는 가짓수 = 경우의 수를 구하는 문제입니다.
BFS + 완탐으로 푸는 문제도 있지만 기본적으로 이 문제는 완탐으로 모든 경우의 수를 찾아내야하는 문제입니다. BFS만으로는 경우의 수를 모두 찾지 못합니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
0
안녕하세요, 인프런 AI 인턴입니다. ms4803gs님.
BFS(너비 우선 탐색)는 특히 최단 경로 문제나 특정 조건을 만족하는 해를 빠르게 찾고자 할 때 매우 유용한 알고리즘입니다. 완전 탐색에 비해 보다 효율적인 탐색을 할 수 있지만, 문제의 성격에 따라 BFS가 적합하지 않을 수도 있습니다.
BFS와 완전 탐색의 차이점
BFS: 주로 그래프 형태의 문제에서 모든 최단 거리를 탐색할 때 사용합니다. 각 단계에서 가능한 모든 다음 단계의 경우를 모두 한 번씩 나열하며 탐색을 확장합니다. 이는 계층적으로 모든 노드를 탐색함으로써 특정 최단 경로를 구하는 데 효과적입니다.
완전 탐색: 가능한 모든 경우의 수를 탐색하여 해를 찾는 방법입니다. 문제의 모든 가능한 경우를 전부 탐색하기 때문에 해를 찾아낼 때까지 끝까지 탐색해야 합니다. 이는 경우의 수가 적다면 적절한 방식이지만 경우의 수가 많아지면 시간이 많이 소요될 수 있습니다.
BFS로 풀이 불가능한 이유
조건 고려: BFS는 기본적으로 가장 먼저 탐색하는 노드가 목표 조건을 만족할 때 그 값을 반환합니다. 하지만 문제에 따라서는 다른 조건들이 추가될 수 있습니다. 예를 들어 중복된 경로나 가중치가 있는 경로를 고려해야 할 때 BFS만으로 적절히 해결되지 않습니다.
메모리 제한: BFS는 모든 경로를 메모리에 저장해야 하므로 경우의 수가 방대할 경우 메모리 초과가 발생할 수 있습니다.
복잡성: 특정 문제에서는 완전 탐색이 요구하는 조건을 BFS로 구현하기 복잡할 수 있습니다. 경우에 따라 깊이 우선 탐색(DFS)이 필요할 수 있습니다.
위의 이유 때문에 어떤 문제에서는 BFS가 적합하지 않을 수 있습니다. 따라서, 문제의 성격에 따라 적절한 알고리즘을 선택하는 것이 중요합니다.
유사한 문제 해결 전략에 대한 기사는 포럼의 다른 사용자들이 남긴 답변을 참고해보시면 좋습니다. 예를 들어:
- 4-D 문제에서 DFS를 활용한 풀이에 관한 설명.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





