재귀로 조합 구현하기 def comb(chosen): if len(chosen) == r: print(*chosen) return start_idx = 0 if chosen: start_idx = arr.index(chosen[-1]) + 1 for nxt in range(start_idx, len(arr)): chosen.append(arr[nxt]) comb(chosen) chosen.pop()arr = 'ABCDE'arr = sorted(arr)r = 2comb([]) 2024. 4. 8. Python 실행 속도 개선 그냥 혼자 공부하고 간단히 정리해놓은 글 in 연산 사용 시, list 보다 set을 사용하는 것이 적합 list : O(n) / set : O(1) dictionary 사용 시, defaultdict 가 dict 보다 데이터 초기화 작업이 빠름 list comprehension 보다 generator 가 공간 복잡도 작음 (메모리 차지 줄일 수 있음) # list comprehension compreh = sum([i**2 for i in range(99999)]) # generator expression gener = sum((i**2 for i in range(99999))) global 변수 보다 local 변수 사용 global 변수는 실행 속도가 local 변수보다 느리고, 시스템의 심각한 오.. 2024. 3. 13. 이전 1 다음 728x90 반응형