[プログラマ]小数点を検索
📩 -->問題の説明
一桁と書かれた紙片が散らばっている.ばらばらの紙切れを貼って、いくつかの小数点を作ることができることを見たいです.
各紙片の数字の文字シリアル番号を指定すると、紙片で作成できるいくつかの数を返すための解法関数を完了します.
せいげんじょうけん
numbersreturn"17"3"011"2
💡 ソリューション(使用言語:python)
from itertools import permutations
# 조합을 이용해서 만들 수 있는 수를 만들어준다.
def solution(numbers):
prime=[]
for i in range(1,len(numbers)+1):
for j in list(set(permutations(numbers, i))):
if ''.join(j)[0]!='0':
prime.append(int(''.join(j)))
# 소수를 answer에 담아준다.
answer=[]
for i in prime:
if i<2:
continue
check = True
for j in range(2, int(i**0.5)+1):
if i%j==0:
check=False
break
if check:
answer.append(i)
return len(set(answer))
👉 説明:別の解釈
primeSet = set()
def isPrime(number):
if number in (0, 1):
return False
for i in range(2, number):
if number % i == 0:
return False
return True
def makeCombinations(str1, str2):
if str1 != "":
if isPrime(int(str1)):
primeSet.add(int(str1))
for i in range(len(str2)):
makeCombinations(str1 + str2[i], str2[:i] + str2[i + 1:])
def solution(numbers):
makeCombinations("", numbers)
answer = len(primeSet)
return answer
再帰関数を使用する方法!🌈 に感銘を与える
2回目のテストのために...
ソース:プログラマ
間違いがあればメッセージをお願いします🙂
Reference
この問題について([プログラマ]小数点を検索), 我々は、より多くの情報をここで見つけました https://velog.io/@letgodchan0/프로그래머스-소수-찾기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol