programmers.co.kr/learn/courses/30/lessons/42839
풀이 전략
1. 모든 경우의 수를 탐색해서 숫자의 집합을 만들자
ex) input =>"14" , nums = [1, 4, 14, 41]
2. 소수를 판별하는 함수를 만들어서 총 몇 개의 소수를 만들 수 있는지 return하자
코드
import itertools
def isPrimeNum(n):
if n == 0 or n == 1:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
def solution(numbers):
nums = list()
for i in range(1, len(numbers) + 1):
N = itertools.permutations(numbers, i)
nums.extend(map(lambda x: int(''.join(x)), N))
nums = set(nums)
res = 0
for num in nums:
if isPrimeNum(num):
res += 1
return res
'코딩 테스트' 카테고리의 다른 글
[파이썬][백준] 2810번 컵홀더 (0) | 2021.01.07 |
---|---|
[파이썬][백준] 1343번 폴리오미노 (0) | 2021.01.06 |
[파이썬][백준 2661] 좋은 수열 (0) | 2021.01.04 |
[백준] 14720 우유축제, 파이썬 (0) | 2020.12.24 |
[프로그래머스] 큰 수 만들기 (0) | 2020.12.22 |