728x90
반응형

VER2.0

import itertools
import sys

n,m = map(int , sys.stdin.readline().split())
res = [i for i in range(1, n+1)]

array = itertools.combinations_with_replacement(res , m)
for i in array:
    for j in i:
        print(j, end =' ')
    print()

 

itertools의 combinations_with_replacement 활용하여 풀기

 

import itertools
import sys

n, m = map(int, sys.stdin.readline().split())
nums = [i for i in range(1, n+1)]

array = itertools.permutations(nums, m) #중복된 조합은 제외
#itertools의 permutations함수를 사용해서 풀이
#Permutations 는 배열에서 원하는 길이에 맞는 모든 조합을 구하는 함수이다.
for i in array:
    for j in i:
        print(j, end = ' ')
    print()
print('=======================')
array2 = itertools.combinations(nums,m) #중복된 조합 모두 포함

for i in array2:
    for j in i:
        print(j, end = ' ')
    print()
print('=======================')
array3 = itertools.combinations_with_replacement(nums,m)
#중복된 조합 모두 포함 , 1 1 / 2 2 등 본인의 조합도 포함하기
#(nums, m)
for i in array3:
    for j in i:
        print(j, end = ' ')
    print()

https://velog.io/@falling_star3/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%88%9C%EC%97%B4-%EC%A1%B0%ED%95%A9-%EC%A4%91%EB%B3%B5%EC%88%9C%EC%97%B4-%EC%A4%91%EB%B3%B5%EC%A1%B0%ED%95%A9itertools%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%9C-%EA%B5%AC%ED%98%84

 

[Python] 순열, 조합, 중복순열, 중복조합(itertools를 활용한 구현)

순열, 조합, 중복순열, 중복조합의 정의와 차이를 비교하고 itertool 패키지를 활용해 python으로 구현해본다.

velog.io

여기 꺼 참고

 

728x90
반응형

+ Recent posts