from itertools import permutations
import math
def isPrime(number):
rootNumber = math.sqrt(number);
n=2
if number < n :
return False
while(n<=rootNumber):
if (number % n == 0) : return False
n +=1
return True
def solution(numbers):
answer = []
numbers = list(numbers)
perm = []
for n in range(1,len(numbers)+1) : perm += list(permutations(numbers, n))
s = set([int(''.join(p)) for p in list(perm)])
# 소수 판별
answer = [n for n in s if isPrime(n)]
return len(answer)
from itertools import permutations
def solution(n):
a = set()
for i in range(len(n)):
a |= set(map(int, map("".join, permutations(list(n), i + 1))))
a -= set(range(0, 2))
for i in range(2, int(max(a) ** 0.5) + 1):
a -= set(range(i * 2, max(a) + 1, i))
return len(a)
참고 알고리즘 : 에라토네스체