강의

멘토링

커뮤니티

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

나호님의 프로필 이미지
나호

작성한 질문수

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

8. 순열 구하기(DFS)

재귀함수의 매개변수로 배열을 넘기면 안되나요??

작성

·

460

0

문제에서 res 나 ch 배열을 전역변수로 생성하여서 사용하는데 혹시 매개변수로 배열을 넘겨서 이용하면 안되나요??

cnt=0

DFS(0,[0]*(n+1),[0]*m)

print(cnt)

이런식입니다. 이전 동전교환문제에서는 sum 이라는 변수를 전역변수로 사용하지 않았는데 여기서는 전역변수로 사용하는 이유가 궁금합니다.

추가로 res=[0]*n 이 아니라 res=[0]*m 아닌가요??

답변 1

0

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

네. 재귀함수에 매개변수가 많으면 초보자입장에서 어렵게 보일까봐 그런거지 매개변수로 배열을 넘겨도 어자피 주소가 넘어가기 때문에 성능과는 상관없어 매개변수로 넘겨도 됩니다.

res=[0]*m으로 하는게 더 좋은 것 같습니다.  

나호님의 프로필 이미지
나호

작성한 질문수

질문하기