No author
This post's author information has been deleted.
Resolved
Written on
·
73
·
Edited
0
안녕하세요, 선생님. 새해복 많이 받으시길 바랍니다.
#4179불! 문제에 대해, 아래 링크와 같이 코드를 짜봤습니다.
(강의에서 설명해주신 반례(F가 없는 경우)를 처리하지 못하는 부분은 선생님 코드를 참고하여 수정을 해봤습니다.)
http://boj.kr/a026e22915944cc9b8bfd1b8a9fd9905
지훈이에 대해 j_bfs 함수로 탈출가능한 경로를 탐색하여 j_bfs_visited에 거리값을 기록하고,
불에 대해서도 f_bfs 함수로 별도로 경로를 탐색하여 f_bfs_visited에 거리값을 기록한 다음,
마지막에 compare_bfs 함수에서 j_bfs_visited와 f_bfs_visited를 비교하는 조건을 추가하여, 탈출 가능한지 탐색하는 방식으로 코드를 짜보려 했습니다.
허나, 틀렸다고 결과(채점중11%에서 틀렸다고 판정됩니다.)가 나오네요... 나름대로 이것저것 경우를 생각하며 반례를 찾고 있는데 쉽지가 않아 도움을 요청 드립니다. 지훈이와 불에 대해 각각 BFS를 한 후, visited를 비교한다는 점에서 선생님 코드와 유사한 방식으로 풀릴 것이라 생각했는데, 미처 생각하지 못한 오류가 제 코드에 있는 것 같습니다. 혹시 제 코드에서 논리적으로 의심되는 바를 짚어주시면 감사드리겠습니다.
Answer 3
0
0
선생님 강의를 다시 처음부터 차분히 들어보니, F가 여러개인 경우를 제가 코드에서 고려하지 못하여 오류가 발생했음을 뒤늦게 깨달았습니다. 번거로우실 것 같아 질문을 삭제처리했습니다. 감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. Gitae Kim님!
4179번 “불!” 문제는 BFS를 활용하여 해결할 수 있으며, 불과 지훈이의 진행 경로를 서로 다른 BFS로 처리하는 것은 일반적인 해법 중 하나입니다. 아래 몇 가지 참고할 만한 기존 질문과 답변을 통해 코드의 문제를 파악하는 데 도움이 될 수 있습니다.
이 질문에서는 불과 지훈이의 BFS 처리 순서 및 큐 사용 방법에서 발생할 수 있는 실수를 교정하고자 했습니다. 특히, 지훈이의 위치를 탐색할 때 이미 불이 도달한 지점을 확인하는 과정에서 누락된 처리가 있었는지를 체크하는 것이 중요합니다.
불과 지훈이 각각 BFS로 처리될 때 메모리 초과나 시간 초과를 피하려면 어떻게 접근해야 하는지 도움이 될 수 있는 좋은 예시입니다.
bfs에서 사람의 방문 여부와 불의 이동 여부를 같이 관리하며, 그에 따라 출구에 도달할 수 있는지를 확인하는 과정을 설명합니다.
일반적인 코딩 실수로는 다음과 같은 것이 있을 수 있습니다:
질문에서 언급된 링크나 예제는 직접 코드 리뷰를 통해 더욱 나은 답을 얻는 데 직접적인 도움이 될 수 있습니다. 코드 구조상 어디에 목적과 맞지 않는 조건문이나 루프가 있는지 확인하는 것도 개선의 한 방법입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.