완전탐색에 해당하는 문제이다.
https://school.programmers.co.kr/learn/courses/30/lessons/42839
itertools의 permutations를 이용하여 모든 경우의 수를 쉽게 구할 수 있다.
또한, 소수인지 판정할 때 root까지만 탐색해도 되는 점을 이용했다.
from itertools import permutations
from math import sqrt
def is_sosu(n):
    """소수이면 True 반환"""
    for i in range(2, int(sqrt(n))+1):
        if n%i==0:
            return False
    return True
def solution(numbers):
    answer_set = set()
    
    for num_len in range(1,len(numbers)+1):
        for p in permutations(numbers, num_len):
            check_num = int(''.join(p))
            # 0,1은 제거
            if check_num >1 and is_sosu(check_num): # 소수인지 판단 & 소수set에 추가
                answer_set.add(check_num)
    
    return len(answer_set)