import itertools
import math
def solution(numbers):
data = numbers
n = len(data)
cnt = 0
def make_num(temp): #아직 문자열
res = 0
for x in temp:
res = res * 10 + int(x)
return res
def prime_num(x):
if x == 0 or x == 1:
return False
for i in range(2,int(math.sqrt(x) + 1)):
if x % i == 0:
return False
else:
return True
t = set()
for i in range(1,n+1): #1~n개로 구성된 수 뽑아야지
for temp in itertools.permutations(data, i):
temp = list(temp)
#해당 숫자가 소수인지 판별
num = make_num(temp) #숫자로 변환한 후
if num in t:
continue
t.add(num)
if prime_num(num) == True:
print(num)
cnt +=1
return cnt
해당 문제는 일단 길이가 짧으니 완전탐색으로 해도 충분하겠다고 생각.
그리고 순열로 모든 숫자 경우의 수를 생각하는 문제라고 판단.
모든 경우의 수를 돌려서 확인함.