PG_소수찾기_Level2
1. 내 코드
# numbers return
# "17" 3
# "011" 2
from itertools import permutations
def Sosu(num) :
if num != 1 :
for i in range(2,num) :
if num%i == 0 :
return False
else :
return False
return True
def solution(numberStr) :
numberList = list(map(int,numberStr))
l = []
l2 = set()
cnt = 0
# 모든 경우의 숫자 만들기
for i in range(1,len(numberStr)+1) :
l += list(permutations(numberList,i))
# 숫자 합쳐서 중복제거
for i in l :
strA = ""
for j in i :
strA+=str(j)
l2.add(int(strA))
# 소수인지 확인하기
for i in l2 :
if Sosu(i) and i > 1 :
cnt+=1
return cnt
print(solution("011"))
결과
평가
- 옛날 코드에 비해 더 시간은 느려짐
- 문자열 연결하는거 까먹었었음 -> join 이용하기
permuArr.append(set(map(''.join,permutations(numbers,i))))
Author And Source
이 문제에 관하여(PG_소수찾기_Level2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hayeon/PG소수찾기Level2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)