Written by
최태열
on
on
[Python][프로그래머스][Level2] 소수찾기
[Python][프로그래머스][Level2] 소수찾기
코드
from itertools import permutations as pers
def solution(numbers):
ans=[]
for num in range(1,len(numbers)+1):
for per in pers(numbers,num):
ans.append(int(''.join(per)))
ans=list(set(ans))
check=[1]*(max(ans)+1)
check[0],check[1]=0,0
for i in range(2,len(check)//2):
if check[i]==0:
continue
n=2
while n*i<len(check):
check[n*i]=0
n+=1
answer=0
for i in ans:
if check[i]:
answer+=1
return answer
순열을 활용해 문제를 풀었다.
numbers에 있는 숫자로 만들 수 있는 숫자들을 permutation으로 순열로 만들었고
에라토스테네스의 체로 소수를 판별하여 return 했다.
Discussion and feedback