이번 문제는 itertools의 permutations를 이용하여 정말 쉽게 풀 수 있었다. itertools의 permutations를 리스트로 저장한 뒤에 이를 오름차순으로 정렬하고 주어진 형식대로 출력하였다.
sorted(list(itertools.permutations(arr, m)))
을 저장한다.result[i]
의 길이만큼 반복하는 j에 대한 for문을 돌린다.result[i]
의 길이-1과 같을 경우,result[i][j]
를 출력한다.result[i][j]
를 출력하는데 이때 구분을 줄바꿈이 아닌 한칸의 공백으로 한다.import itertools
n, m=map(int, input().split())
arr=list(map(int, input().split()))
result=sorted(list(itertools.permutations(arr, m)))
for i in range(len(result)):
for j in range(len(result[i])):
if j==len(result[i])-1:
print(result[i][j])
else:
print(result[i][j], end=' ')