인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

eugene님의 프로필 이미지
eugene

작성한 질문수

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

65번 질문

작성

·

146

0

안녕하세요.

65번 문제 푸는 중 궁금점이 생겨 문의 드립니다.

65번 문제 푸는데 계속 답이 2가 나와서 봤더니 저는 다음 탐색할 좌표인 xx와 yy를 전역변수로 선언해서 계속 2가 나왔습니다. xx와 yy를 DFS함수내의 지역변수로 선언해야만 올바른 답이 나오더라구요.

그런데 계속 생각 해봐도 왜 xx와 yy를 전역변수로 선언하면 올바른 답이 안나오는지 궁금합니다.

감사합니다.

답변 1

1

김태원님의 프로필 이미지
김태원
지식공유자

DFS(1, 1)-->DFS(1, 2)-->DFS(1, 3)으로 탐색을 하다가 DFS(1, 3)에서 다시 DFS(1, 2)로 back을 하면 모든 변수가 DFS(1, 3)으로 오기전 DFS(1, 2)상황의 값으로 되돌아 가야 하는데 그렇게 되려면 그 변수들은 DFS함수가 관리하는 지역변수이어야 합니다.

eugene님의 프로필 이미지
eugene

작성한 질문수

질문하기