Programmers/프로그래머스-소수 찾기-python
5759 단어 programmersprogrammers
문제📖
풀이🙏
- 한자리 숫자가 적힌 종이 조각이 흩어져있다.
- 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 한다.
- 각 종이 조각에 적힌 숫자가 적힌 문자열 number가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution함수를 완성하라.
- numbers는 길이 1 이상 7 이하인 문자열이다.
- numbers는 0~9까지 숫자만으로 이루어져 있다.
- "013"은 0,1,3 숫자가 적힌 종이 조각이 흩어져있다는 의미이다.
코드💻
# programmers, phase2:소수 찾기, python3
# 완전 탐색 알고리즘
from itertools import permutations
def check_sosu(n):
if n>1:
for i in range(2,n):
if n%i==0:
return False
else:
return False
return True
def solution(numbers):
l = list(numbers)
nums, nums_v2 = [], []
target_num = ''
for i in range(1, len(l)+1):
nums += list(permutations(l,i))
for x in nums:
for y in x:
target_num += y
nums_v2.append(int(target_num))
target_num = ''
nums_v2 = list(set(nums_v2))
return sum([1 for x in nums_v2 if check_sosu(x) == True])
결과😎
출처 && 깃허브📝
Author And Source
이 문제에 관하여(Programmers/프로그래머스-소수 찾기-python), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@cosmos/Programmers프로그래머스-소수-찾기-python-uy4i6qb3저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)