https://school.programmers.co.kr/learn/courses/30/lessons/42839
문제는 위와 같고, 아이디어가 어렵다기 보다는 각각의 찢어진 종이 조각으로 만들 수 있는 숫자를 만드는 과정에서 구현이 까다로웠다.
from itertools import permutations
def checkPrime(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 solution(numbers):
answer = []
numbers = list(numbers)
temp = []
for i in range(1, len(numbers)+1):
print(list(permutations(numbers, i)))
temp += list(permutations(numbers, i))
print(temp)
num = [int(''.join(t)) for t in temp]
print(num)
for i in num:
if checkPrime(i):
answer.append(i)
return len(set(answer))
num 배열이 만들어지는 과정을 주목해서 살펴두자.