문제링크 : 코딩테스트 연습 - 소수 찾기 | 프로그래머스 (programmers.co.kr)

풀이 방법
순열을 직접구현해서 풀려고 했으나 구현을 못해서 표준 라이브러리인 itertools를 사용해서 풀었다.
permutations 함수를 사용해 순열을 생성하고, 생성된 순열에 대해서만 소수 판별 알고리즘을 통해 소수 인지 판별해주는 문제이다.
나의 풀이
풀이 확인
from itertools import permutations
def is_prime_number(n):
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
def solution(numbers):
answer = []
p = []
for i in range(1, len(numbers)+1):
temp = map(list, (permutations(numbers, i)))
p.append([''.join(x) for x in temp])
p = set([int(y) for x in p for y in x if int(y) > 1])
for i in p:
if is_prime_number(i):
answer.append(i)
return len(answer)
'알고리즘 > problem solving' 카테고리의 다른 글
| [프로그래머스] level2 스킬트리 (0) | 2021.04.16 |
|---|---|
| [프로그래머스] level2 완전탐색 카펫 (0) | 2021.04.15 |
| [프로그래머스] level2 힙 더 맵게 (0) | 2021.04.14 |
| [프로그래머스] level2 정렬 H-Index (0) | 2021.04.14 |
| [프로그래머스] level 2 정렬 - 가장 큰 수 (0) | 2021.04.14 |