해결된 질문
작성
·
90
0
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
bfs와 재귀를 활용한 조합을 사용해서 문제를 풀어보았는데 어느 부분이 문제인지 잘 모르겠습니다.
코드리뷰 부탁드려도 될까요??
답변 3
0
0
안녕하세요 ㅎㅎ
for(int i=0 ; i<n; i++){
for(int j=0 ; j<m; j++){
cin >> board[i][j];
tmp[i][j] = board[i][j];
v.push_back(tmp[i][j]);
}
v에다가는 왜 값을 담으셨나요?
또한
void go(vector<int> &v){
vector<vector<int>> vec(n, vector<int>(m,-1));
fill(&wall[0][0], &wall[0][0] + n*m ,0 );
for(int i=0 ; i<v.size(); i++){ //일차원벡터를 받아서 이차원벡터로 변경
int r = i / m ;
int c = i % m;
vec[r][c] = v[i];
}
이런로직이 있는데 로직 자체가 모호합니다. v에는 각 맵의 값인 0, 1, 2 중 에 해당하는 "값"이 들어가 있습니다.
combi함수는 제 교안내의 combi 함수를 참고해주세요.
잘못 구축하셨습니다.
일단 이러한 부분들부터 고쳐보시겠어요?
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
specture님, BFS와 재귀를 활용한 조합 문제에 대한 해결 방법을 찾고 계신 것 같네요.
문제 해결에 있어 BFS와 조합을 모두 활용하시려는 접근이 무척 흥미롭습니다. 이와 관련하여 아래에 도움이 될 만한 이전 질문 & 답변을 소개합니다:
3-J 질문 있습니다. - 이 답변에서는 BFS와 DFS의 성능 차이 및 최적화에 대한 설명이 포함되어 있어 도움이 될 수 있습니다. BFS를 하는 과정에서 방문 처리나 탐색 조건 등에 대한 조언을 얻을 수 있습니다. 또한 DFS와 재귀 호출 시 스택 오버플로우를 방지하는 방법도 논의되었습니다.
질문 - 이 게시물에서는 BFS를 ‘L’ 부분에서만 탐색하는 효율적인 방법을 사용한 사례가 있습니다. BFS 구현 시 특정 조건을 설정하여 탐색 범위를 줄이는 접근 방식에 대해 검토할 수 있습니다.
이 두 가지 게시물을 참고하시면 BFS와 조합 문제 해결 시 발생할 수 있는 일반적인 함정 및 최적화 방법에 대해 더 깊이 이해하실 수 있을 것입니다.
어떤 특정 부분에서 문제가 있다고 생각되시면, 코드를 여러 단계로 나누어 디버깅하거나 출력 결과를 중간 중간 확인해 보시는 것도 좋은 방법이 될 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.