Skip to content

34 순열 재귀함수 질문입니다. #140

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
deopark opened this issue Jan 20, 2022 · 1 comment
Open

34 순열 재귀함수 질문입니다. #140

deopark opened this issue Jan 20, 2022 · 1 comment

Comments

@deopark
Copy link

deopark commented Jan 20, 2022

    def dfs(elements):
        # 리프 노드일때 결과 추가
        if len(elements) == 0:
            results.append(prev_elements[:])

        # 순열 생성 재귀 호출
        for e in elements:
            next_elements = elements[:]
            next_elements.remove(e)

            prev_elements.append(e)
            dfs(next_elements)
            prev_elements.pop()

위는 책에 소개된 code인데요.
재귀에 대하여 이해를 못하고 있습니다.

처음 순열을 만들고(prev_elements가 [1,2,3]인 상태), prev_elements.pop()에 의해서 2, 3이 제거되는데 왜 2 번 일어나는 건가요?

질문이 어설프면 힌트라도 주세요..
감사합니다.

@likejazz
Copy link
Collaborator

질문이 무슨 말씀인지 잘 모르겠습니다. 재귀는 원래 어려우니 너무 당황해하지 마시고 연습장에 값을 하나씩 손으로 직접 적으면서 이해하는 방법을 추천합니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants