From 5a53e51fd061ff9ac246be58085f8d92e004440c Mon Sep 17 00:00:00 2001 From: Sony Date: Tue, 11 Jun 2019 18:16:09 +0900 Subject: [PATCH] [sony] algorithm, programmers findPrimeNumber MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 프로그래머스 소수 찾기 문제 풀이 --- 190611/sony/Lv2_findPrimeNum.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 190611/sony/Lv2_findPrimeNum.py diff --git a/190611/sony/Lv2_findPrimeNum.py b/190611/sony/Lv2_findPrimeNum.py new file mode 100644 index 0000000..76c92b2 --- /dev/null +++ b/190611/sony/Lv2_findPrimeNum.py @@ -0,0 +1,33 @@ +import itertools + +def primNumber(n): + if n < 2: return False + if n == 2: return True + if n % 2 == 0: return False + + m = int(n**0.5)+1 + + for i in range(3,m,2): + if n % i == 0: + return False + return True + +def findPrimeNum(numbers): + count = 0 + a = set() + for k in range(len(numbers)): + n = list(itertools.permutations(numbers, k+1)) + + for i in n: + s = ''.join(i) + a.add(int(s)) + + for j in a: + if primNumber(j): + count += 1 + return count + +# nums = '17' +nums = '011' + +findPrimeNum(nums) \ No newline at end of file