백준-5568

0

  • combinations와 permutations를 사용하여 해결하였다.
  • 우선 combinations를 이용하여 n개의 숫자 중 k개의 숫자를 뽑았고 그 숫자들을 순열로 나열했다.
  • 마지막으로 중복된 것을 set으로 제거하고 길이(개수)를 측정
from itertools import combinations
from itertools import permutations

n=int(input())
k=int(input())
card=[input() for _ in range(n)]

card_list=list(combinations(card, k))

ans=[]
for i in card_list:
    a=list(permutations(i, k))
    for j in a:
      ans.append(''.join(j))

print(len(set(ans)))
  • 생각해보니 조합은 필요가 없었다.
from itertools import permutations

n=int(input())
k=int(input())
card=[input() for _ in range(n)]


ans=[]
for i in permutations(card, k):
    ans.append(''.join(i))
print(len(set(ans)))

0개의 댓글