앞선 문제들과 같지만 이번엔 연속된 수가 아닌 주어진 수로 조합을 해야한다.
import sys
sys.setrecursionlimit(10**6)
N, M = map(int, sys.stdin.readline().split())
nums = sorted(list(map(int, sys.stdin.readline().split())))
answer = []
def back(group):
if len(answer) == M:
print(" ".join(map(str, answer)))
return
for num in group:
if num not in answer:
answer.append(num)
back(group)
answer.pop()
back(nums)
결과를 오름차순으로 출력해야해서 입력받은 숫자들을 정렬시켜서 순서대로 진행했다.