

from itertools import permutations
def solution(numbers):
num_list = [] # 입력받은 문자열을 쪼개서 모두 저장할 리스트
permu_list = [] # 가능한 모든 순열 중 유니크한 숫자만 저장할 리스트
prime_cnt = 0 # 소수 카운팅할 변수
num_list = list(numbers)
for j in range(1, len(numbers) + 1):
data = permutations(num_list, j) # 가능한 모든 길이의 조합 생성
for line in data:
line = list(line)
num = ''.join(line)
if int(num) not in permu_list: # 유니크한 숫자만 리스트에 저장, 011과 11은 같은 숫자로 취급하기 때문
permu_list.append(int(num))
for elem in permu_list:
is_prime = True
if elem == 0 or elem == 1:
continue
for i in range(2, elem): # elem이 소수인지 아닌지 체크
if elem % i == 0: # 소수가 아닌 경우 (1과 자기자신 외의 약수가 존재하는 경우)
is_prime = False # 소수 아님, 더 볼 필요 없음
break
if is_prime == True: # 소수인 경우
prime_cnt += 1 # 소수 갯수 + 1
return prime_cnt