[Programmers] 소수 찾기 파이썬 풀이
Updated:
문제
구현
from itertools import permutations
def solution(numbers):
answer = []
nums = [n for n in numbers]
per = []
for i in range(1, len(numbers) + 1):
per += list(permutations(nums, i))
new_nums = [int("".join(p)) for p in per]
for i in new_nums:
check = False
if i < 2:
continue
for j in range(2, int(i**0.5) + 1):
if i % j == 0:
check = True
break
if not check:
answer.append(i)
return len(set(answer))
return answer
오답노트
문자열 numbers를 [n for n in numbers]로 각 숫자를 떼어내준다. “17” -> [“1”, “7”]
떼어낸 문자들을 permutations$($) 를 사용하여 순열 조합을 구하는 것이 관건이었던 문제였다.
마지막으로 set을 이용해서 중복되는 숫자를 제거 후 반환해야 한다.
Leave a comment