강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của ghdehddnr2003460
ghdehddnr2003460

câu hỏi đã được viết

Giới thiệu về giải bài toán bằng thuật toán Python (chuẩn bị cho bài kiểm tra viết mã)

11. Đường đi bộ (DFS)

이번문제는 체크가 꼭 필수인가요?

Viết

·

251

4

등산로는 a -> b로 갈 때 b가 항상 a보다 크니 탐색을 할 때 뒤로 갈 수 없으니까.. 체크를 안해도 되지 않을까요?!!

python코테 준비 같이 해요!

Câu trả lời 2

0

좋은 질문입니다!

0

codingcamp님의 프로필 이미지
codingcamp
Người chia sẻ kiến thức

네. 그렇네요. 이 문제같은 경우 방문체크를 굳이 하지 않아도 방문한 곳으로 절대 가지 않는 경우였습니다. 

미처 생각 못했습니다. 감사합니다.^^

그런데 ch가 없으면 계속 실패한 곳으로 가서 0으로 나오게 되지 않나요?

codingcamp님의 프로필 이미지
codingcamp
Người chia sẻ kiến thức

재귀함수는 한번 탐색한 경로를 다시 탐색하지는 않습니다. ch없이 한 번 해보세요. 100점 나올겁니다.

해보니까 100점 나옵니다..!
제가 지금 좀 헷갈려서 그런데...이 문제에서 b>a보다 크다는 조건 때문에 다시 탐색하지 않는건지, 아니면 재귀함수가 원래 한번 탐색한 경로를 다시 탐색하지 않는건가요 ?

후자라면 dfs에서는 굳이 ch를 사용할 필요가 없는거네요
   
전자라면 dfs가 가장 깊은 깊이까지 간다음 다시 뒤로 백(back)하는거랑은 별개로 말씀하신거죠?

뭔가 두서없이 질문한거 같아서 미리 죄송합니다 ㅠ 그만큼 명확히 그려지지 않아서 그런거같습니다

전자가 맞습니다. b>a조건이 없으면 0, 0 에서 1,0 탐색했다가 다시 0,0을 탐색하니까요. 

"전자라면 dfs가 가장 깊은 깊이까지 간다음 다시 뒤로 백(back)하는거랑은 별개로 말씀하신거죠?"

이 질문은 dfs 내부의 if~else 문을 보시면 답이 될 것 같네요

Hình ảnh hồ sơ của ghdehddnr2003460
ghdehddnr2003460

câu hỏi đã được viết

Đặt câu hỏi