망나니 AWOS의 일상
article thumbnail

문제 풀이

예제 1을 보면 첫째 줄에 카드의 총 개수(4장), 둘째 줄에 총 카드 중 몇 장(2장)을 뽑을지

셋째 줄부터 마지막째 줄까지 4장의 카드의 숫자를 입력 (1, 1, 2, 12)  받는다.

 

무작위로 2장씩 짝지어 보면 아래의 그림과 같이 된다.

조합은 총 12개지만 중복되는 수가 있으므로 제외하면 7개라는 결괏값이 나온다.

 

python에서는 itertools 라이브러리에 내장되어 있는 permutations 함수가 있다.

이 permutations 함수는 위의 문제처럼 순열을 구할 때 잘 쓰이는 함수이다. 때문에 꼭 import를 해줘서 사용해야 한다.

 

05-05 itertools.permutations - 순열

`itertools.permutations(iterable, r=None)` 함수는 iterable 요소의 길이 r에 해당하는 순열을 리턴하는 함수이다. ## 문제 1, ...

wikidocs.net

 

완성된 코드!!👍😊

from itertools import permutations

n = int(input())
k = int(input())
card_l = list(input() for _ in range(n))
rs = set()
for val in permutations(card_l, k):
	# 순열을 구하지만 set() 집합으로 중복을 피해줌
    rs.add(''.join(val))
print(len(rs))
profile

망나니 AWOS의 일상

@AWOS

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!