from itertools import permutations
def solution(numbers):
answer = 0
arr = [ num for num in numbers]
num_lst = []
for i in range(1, len(arr) + 1):
a = permutations(arr, i)
for j in a:
b = "".join(j)
num_lst.append(int(b))
set_lst = set(num_lst)
for i in set_lst:
flag = 0
for j in range(2, i//2 + 1):
if i % j == 0:
flag = 1
break
if flag == 0 and i != 0 and i != 1:
answer+=1
return answer
permutations 함수를 사용한 풀이.
set을 사용하여 중복을 제거하고,
반복문을 통해 2~본인의 절반 까지 순회를 시키면서 소수를 찾는다.(flag는 소수가 아닐 경우를 체크하기 위함)
0과 1을 제외하고 소수를 찾는다.
'Programmers' 카테고리의 다른 글
[프로그래머스 / 파이썬 풀이] 피로도 (0) | 2023.01.05 |
---|---|
[프로그래머스 / 파이썬 풀이] 카펫 (0) | 2023.01.05 |
[프로그래머스 / 파이썬 풀이] 최소직사각형 (0) | 2023.01.04 |
[Programmers / Python 풀이] 전화번호 목록 (0) | 2023.01.04 |
[Programmers / Python 풀이] 폰켓몬 (0) | 2023.01.03 |