문제 링크 https://programmers.co.kr/learn/courses/30/parts/12230
프로그래머스 완전탐색 Level2. 소수찾기 파이썬 풀이
permutation이 핵심
from itertools import permutations
# 소수 판별 함수
def is_prime_number(x):
if x < 2:
return False
for i in range(2, x):
if x % i == 0:
return False
return True
def solution(numbers):
answer = 0
array = []
# 만들 수 있는 숫자 순열을 만들기 위해 permutations 사용
for i in range(1, len(numbers) + 1):
temp = permutations(numbers, i)
for n in temp:
# 튜플을 합치고
temp_str = "".join(n)
# 배열에 int형 변환후 삽입
array.append(int(temp_str))
# 배열 중복 제거
array = list(set(array))
for num in array:
if is_prime_number(num):
answer += 1
else:
continue
return answer