1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열을 출력하는 문제이다.
combinations
을 이용해서 간단히 해결할 수 있었다.
from itertools import combinations
N, M = map(int, input().split())
arr = [i for i in range(1, N+1)]
for i in combinations(arr, M):
print(*i)
import sys
input = sys.stdin.readline
N, M = map(int, input().strip().split())
li = []
def recursive(start):
if len(li) == M:
print(" ".join(map(str, li)))
return 0
else:
for i in range(start, N+1):
if i not in li:
li.append(i)
recursive(i + 1)
li.pop()
recursive(1)
start
라는 변수를 추가해줬다.