인프런 커뮤니티 질문&답변

최준용님의 프로필 이미지
최준용

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

3-I

3-I 코드 질문 있습니다!

해결된 질문

작성

·

349

0

강의의 코드에서 113번째 줄에 있는
 
visited[turn % 2][nx] = visited[(turn + 1) % 2][x] + 1;

 

거리를 구하는 것이 아니고 방문 여부를 파악하는 것이기 때문에

visited[turn%2][nx] = 1; 로 풀어도 된다고 생각하는 데 이것이 맞을까요?

 

만약에 아니라면 어떤 이유인지 궁금합니다!

답변 2

1

최준용님의 프로필 이미지
최준용
질문자

답변 감사합니다!

나누어서 설명해주셔서 이해가 되었습니다. 2주차 리뉴얼 강의도 다시봐야겠습니다

 

항상 좋은 강의 만들어주셔서 감사합니다.

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요. Junyong Choi님ㅎㅎ

반은 맞고 반은 틀립니다. 

1. 

방문 여부를 파악하는 것이기 때문에

visited[turn%2][nx] = 1; 로 풀어도 된다고 생각하는 데 이것이 맞을까요?

>> 방문여부파악은 맞죠. 네 그렇게 해도 됩니다.

 

2.

거리를 구하는 것이 아니고

>> 이문제는 qsize를 기반으로 해서 turn이라는 변수로 거리를 셉니다. 정확히는 시간이죠. 이 turn이라는 변수로 따로 새기 때문에 visited 배열에 최단거리를 넣지 않아도 된다는 것입니다.

 

하지만 BFS를 한다면 습관적으로 visited 배열은 만드시는 것이 좋습니다. 이번에 2주차 리뉴얼했는데 안보셨다면 다시 보기를 추천드립니다.

 

또 질문사항있으시면 언제든 말씀 부탁드립니다. 

감사합니다. 

강사 큰돌 올림. 

 

최준용님의 프로필 이미지
최준용

작성한 질문수

질문하기