🔸

문제35: 조합

Created
Feb 12, 2023 06:13 AM
Tags
조합은 빈 배열에 더해가며, 순열은 있는 배열에서 제거해가며
 

문제


전체 수 n을 입력받아 k개의 조합을 리턴하라
 

입력


n = 4, k = 2
 

출력


[ [1,2], [1,3], [1,4], [2,3], [2,4], [3,4] ]
 

풀이


  1. dfs 활용, 재귀 풀이
results = [] def dfs(elements, start, k): if k == 0: results.append(elements[:]) return for i in range(start, n+1): elements.append(i) dfs(i+1, k-1) elements.pop() dfs([], 1, k) return results
 
  1. itertools 이용
results = return list(itertools.combinations(range(1, n+1), k))

새로운 개념