인프런 커뮤니티 질문&답변
중복순열 코드질문
작성
·
273
0
안녕하세요, 강의 잘 듣고 있습니다!
혼자서 코드를 짜볼때 저는 아래와 같이 짰는데 다시 재귀로 돌아가지 못하고 1 1 만 출력하고 종료해 버리더라구요. 소스에서 어디가 문제인지 정확히 찾을 수 없어, 뭐가 문제인지 문의드립니다.
def DFS(L):
global cnt
if L==m+1:
for x in a:
print(x, end=' ')
print()
cnt+=1
else:
for i in range(1, n+1):
a.append(i)
DFS(L+1)
a.pop(-1)
if __name__=="__main__":
n, m=map(int, input().split())
a=list()
cnt=0
DFS(0)
print(cnt)
퀴즈
65%나 틀려요. 한번 도전해보세요!
재귀 함수에서 print 문을 재귀 호출 뒤에 두면 출력이 역순으로 되는 이유가 무엇일까요?
전역 변수 충돌 때문에
종료 조건이 없어서
스택에 쌓였다가 역순으로 처리돼서
지역 변수 우선순위 때문에





