문제
- 프로그래머스 소수찾기
- Level 2
- 문제링크
코딩테스트 연습 - 소수 찾기
한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이
programmers.co.kr
나의 코드
- 주어진 숫자의 길이만큼 순열을 만들고
- 각 순열로 만들어진 숫자에 대해 소수인지 확인한다.
간단!
import itertools
def prime(num):
if num > 1:
for i in range(2, int(num/2)+1):
if (num % i) == 0:
return False
else:
return True
else:
return False
def solution(numbers):
res = set()
for i in range(1, len(numbers) + 1):
a = list(itertools.permutations(numbers, i))
res.update(int(''.join(b)) for b in a)
cnt = 0
for r in res:
if prime(r):
cnt += 1
print(r)
return cnt
'개발공부 > algorithm' 카테고리의 다른 글
[백준][python] 17626 - Four squares (0) | 2021.06.06 |
---|---|
[백준][Python] 2670: 연속부분 최대합 - DP (0) | 2021.06.06 |
[프로그래머스][python] 크레인 인형 뽑기 - Stack (0) | 2021.05.24 |
[프로그래머스][python] 정수삼각형 - DP (0) | 2021.05.20 |
[프로그래머스][python] 괄호 변환 - Stack, Recursion (0) | 2021.05.18 |