itertools 다!! collections가 아니고!
콤비네이션, 퍼뮤테이션 -> iter가 가능한 리스트에 대해 쓰기 때문에 itertools
콤비네이션은 중복 제거
퍼뮤테이션은 중복 X 전부 모두
* 두 가지가 가능하다!
permutation([리스트], 정수) ----> 한줄 코딩을 위해 str() 저장된 리스트로 주로 사용
permutation(range(1, n), 정수)
from itertools import permutations
n, m = map(int, input().split())
arr = list(map(list, permutations(range(1, n+1),m)))
leng = len(arr)
for i in range(leng):
for j in range(m):
print(arr[i][j], end=' ')
print()
''' 백준 15649 - 옛날에 용감한 python보면서 내가 푼 '''
from itertools import permutations
n, m = map(int, input().split())
# 리스트를 따로 만들지 않고 한줄에 해줬으며, (중요) 이때 각 원소를 str()로 변환해줘야 함
result = list(permutations([str(i) for i in range(1, n+1)], m))
for i in result:
print(" ".join(i))
# 첫 번째 인자 = 리스트, 두 번째 인자 = nCm일 경우, m
from itertools import combinations
n, m = map(int, input().split())
arr = list(combinations([str(i) for i in range(1, n+1)], m))
for a in arr:
print(" ".join(a))
''' 블로그 정답 '''
from itertools import combinations
N, M = map(int, input().split())
arr = [str(i+1) for i in range(N)] # 각 원소 str()로 만들어줘야함
for e in list(combinations(arr, M)):
print(" ".join(e))