순열, 조합 - 2탄
·
Computer Science/Algorithm
1-1. 순열▪︎ itertools 사용permutations(iterable, r =  None) : iterable에서 원소 개수가 r개인 순열 뽑기from itertools import permutationsarr = ['A', 'B', 'C']# r을 지정하지 않거나 r = None으로 하면 최대 길이의 순열 리턴for i in permutations(arr): print(i) '''출력결과:('A', 'B', 'C')('A', 'C', 'B')('B', 'A', 'C')('B', 'C', 'A')('C', 'A', 'B')('C', 'B', 'A')'''▪︎ 백트래킹1, 2, 3, != 3, 2, 1이므로 이전에 방문했던 곳도 재방문 해야 함.-> visited 방문 여부 표시 필요 O1..
순열, 조합, 중복순열, 중복조합
·
Computer Science/Algorithm
순열 [1,2,3] 중 2개를 뽑아 순열을 만드는 예시 def dfs(level): if level == r: print(result) return for i in range(len(arr)): if checked[i] == True: continue result[level] = arr[i] checked[i] = True # 중복순열이 안되게 -> 앞자릿수에서 선택한 값은 뒤에서 선택될 수 없음. dfs(level + 1) checked[i] = False # 다시 새로운 result를 만들어낼 때 숫자가 선택될 수 있게 print(level, checked) arr = [i + 1 for i in range(3)] r = 2 result = [0] * r checked = [False] * len(a..
_은선_
'백트래킹 순열' 태그의 글 목록