๋ฌธ์ ๋ถ๋ฅ : ์์ ํ์ Lv.2
Code(python)
from itertools import permutations as pm
def prime(n) :
if (n < 2) :
return False
for i in range(2, int(n**0.5) + 1) :
if (n % i ==0) :
return False
return True
def check(numbers) :
numbers = list(numbers)
cnt = 0
for i in numbers :
if prime(i) :
cnt += 1
return cnt
def get_permutations(numbers):
max_len = len(numbers)
numbers = list(numbers)
int_nb = list(map(int, numbers))
if max_len < 2 :
numbers = map(int, numbers)
return check(set(numbers))
else :
for i in range(2, max_len + 1):
temp = list(map("".join, (pm(numbers, i))))
temp = list(map(int, temp))
int_nb.extend(temp)
return check(set(int_nb))
def solution(numbers):
return get_permutations(numbers)
์ฝ๋ ์ค๋ช
prime(n)
: n์ด ์์์ธ์ง ํ๋ณํ๋ ํจ์
check(numbers)
: numbers
์ ์์๋ค์ prime(n)
์ ๋ฃ๊ณ , True๋ฉด cnt๋ฅผ 1์ฉ ๋ํด์ค๋ค.
get_permutations(numbers)
: itertools์ permutation ๋ฉ์๋ ์ฌ์ฉ. numbers
๋ก ๋ง๋ค ์ ์๋ ๋ชจ๋ ์กฐํฉ์ ์ซ์๋ฅผ ์์ฑํ๋ค. ( set๊ณผ map์ ์ด์ฉํ์ฌ ์ค๋ณต์ ์ ๊ฑฐํ๊ณ , intํ์ผ๋ก conversionํ๋ค.)