순열 구하기 DFS

James_·2022년 4월 25일
0

완전탐색할 때 필수인 dfs로 순열을 python으로 구현해보자

def dfs(level):
	global cnt
	if level == require_size:
    	for j in range(level):
        	print(res[j],end=" ")
        print()
        cnt += 1
	else:
    	for i in range(1,require_size+1):
        	if(check_list[i] == 0):
            	ch[i] = 1 #check
                res[level] = i
                dfs(level+1)
                ch[i] = 0 # uncheck
nums = [1,2,3]
require_size = len(nums)
# 0은 사용 X
check_list = [0] * (len(nums) + 1) 
res = [0] * len(nums) # 0으로 초기화
cnt = 0
dfs(0)

코드를 돌려보지 않은 거라서 에러 날 수 있음

profile
Android 개발자

0개의 댓글