🔍 문제
순열을 생성하는 모듈을 만들어 값을 구한다.
🗝 사용함수
nPr : n!/(n-r)!
from itertools import permutations. : itertools 패키지에 저장된 permutations(순열) 모듈 사용
permutations([a], b) : 리스트 a에서 b개를 순서대로 뽑음
list(permutations([a], b)) : 위 결과를 리스트로 출력
🖥 실행
1)모듈 생성
def getPermutation(n, r, logPrint = True): # 매수변수에 기본값을 준다
result = 1
for i in range(n, (n-r), -1):
if logPrint: print('n: {}'.format(i))
result *= i
return result
from itertools import permutations
def getPermutations(ns, r):
pList = list(permutations(ns, r))
print(f'{len(ns)}P{r}개수: {len(pList)}')
for i in permutations(ns, r):
print(i, end='')
2)실행_1
import permutation5 as pt
numN = int(input('numN: '))
numR = int(input('numR: '))
print(f'{numN}P{numR}: {pt.getPermutation(numN,numR,logPrint=False)}')
3)실행_2
import permutation5 as pt
listVar = [1,2,3,4]
rVar = 2
pt.getPermutations(listVar, rVar)
📝 결과물
'Coding test > Python 기초문제' 카테고리의 다른 글
[모듈] 공과금 계산하기 (0) | 2022.04.29 |
---|---|
[모듈] 조합(combination) (0) | 2022.04.29 |
[모듈] 로또 번호 추출 (0) | 2022.04.29 |
[모듈] 물건 가격 계산기 (0) | 2022.04.29 |
[모듈] 성적 패스 확인 (0) | 2022.04.29 |