from itertools import permutations
def isPrime(n, dp):
max_length = int(n**0.5)
for i in range(2, max_length+1):
if dp[i] == True:
for j in range(i*i, n+1, i):
dp[j] = False
return dp
def solution(numbers):
answer = 0
a = []
for i in range(1,len(numbers)+1):
a += list(permutations(numbers,i))
last = []
for i in a:
string = ""
for j in i:
string += j
last.append(int(string))
last= set(last)
dp = isPrime(max(last), [False, False]+[True]*(max(last)-1) )
for i in last:
if dp[i]:
answer += 1
return answer
'Programming > Programmers' 카테고리의 다른 글
[프로그래머스/Python] 짝지어 제거하기(스택) (0) | 2021.01.04 |
---|---|
[프로그래머스/Python] 구명보트(그리디) (0) | 2021.01.04 |
[프로그래머스/Python] 괄호변환(재귀/구현) (0) | 2021.01.03 |
[프로그래머스/Python] 기능개발(큐) (0) | 2021.01.03 |
[프로그래머스/Python] 주식가격(스택) (0) | 2021.01.03 |