해당 숫자에서 만들 수 있는 모든 수를 찾기 위해 1부터 숫자의 길이만큼 1씩 값을 늘려가며 permutation을 실행시켰다
가능한 모든 경우의 수를 구한 num 리스트를 isPrime 함수에 인자값으로 전달하여 하나씩 소수인지 판별하는 과정을 통해 답을 구할 수 있었다
소스 코드
from itertools import permutations
def isPrime(num):
prime = []
for n in num:
cnt = 0
for i in range(2, n):
if n % i == 0:
cnt += 1
break
if n > 1 and cnt == 0:
prime.append(n)
return len(prime)
def solution(numbers):
num = []
for i in range(1, len(numbers) + 1):
tmp = permutations(numbers, i)
for j in tmp:
tmp_str = "".join(j)
num.append(int(tmp_str))
num = list(set(num))
return isPrime(num)