🔍 문제
모듈을 사용하여 조합 출력
🗝 사용함수
nCr : nPr/r! = n!/(n-r)!
from itertools import combinations. : itertools 패키지에 저장된 combinations(순열) 모듈 사용
combinations([a], b) : 리스트 a에서 b개를 순서와 상관없이뽑음
list(permutations([a], b)) : 위 결과를 리스트로 출력
🖥 실행
1) 모듈 생성
def combinationCnt(n,r): # n! / (n-r)!*r!
resultP = 1
resultC = 1
resultR = 1
for i in range(n, n-r, -1):
resultP *= i
for i in range(1,r+1): # 또는 range(r, 0, -1)
resultR *= i
resultC = int(resultP / resultR) # p! / r!
return resultC
from itertools import combinations
def getCombinations(ns, r):
cList = list(combinations(ns, r))
print(f'{len(ns)}C{r} : {len(cList)}')
for i in combinations(ns, r):
print(i, end='')
2) 실행_1
import combination1 as cb
numN = int(input('numN: '))
numR = int(input('numR: '))
print(f'{numN}C{numR} : {cb.combinationCnt(numN, numR)}')
3)실행_2
import combination1 as cb
cList = [1,2,7,8]
rVar = 2
cb.getCombinations(cList,rVar)
📝 결과물
'Coding test > Python 기초문제' 카테고리의 다른 글
[모듈] 사칙연산, 도형의 넓이 계산기 (0) | 2022.04.30 |
---|---|
[모듈] 공과금 계산하기 (0) | 2022.04.29 |
[모듈] 순열(permutation) (0) | 2022.04.29 |
[모듈] 로또 번호 추출 (0) | 2022.04.29 |
[모듈] 물건 가격 계산기 (0) | 2022.04.29 |