한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다.
각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요.
from itertools import permutations
def solution(numbers):
answer = []
number = [i for i in numbers]
number = list(reversed(sorted(number)))
n = int(''.join(number))
pri = [True for i in range(n+1)]
pri[0] = False
pri[1] = False
for i in range(2,(n+1)//2):
for j in range(2*i,n+1,i):
if j%i == 0:
pri[j] = False
for i in range(1,len(number)+1):
for c in permutations(number,i):
per = int(''.join(c))
if pri[per]: answer.append(per)
return len(set(answer))