[5/27] 소수 찾기
내 코드
from itertools import permutations
def sosu(n):
cnt = 0
if (n != 1):
for i in range(1, int(n**0.5)+1):
if (n % i == 0):
cnt += 1
return 1 if cnt==1 else 0
def solution(numbers):
arr = []
for i in range(1, len(numbers)+1):
for j in permutations(numbers, i):
arr.append( int("".join(list(j))) )
arr = list(set(arr))
return sum([sosu(k) for k in arr])
풀이
- 소수 판별 함수 작성
- for문을 사용하여 모든 자리수를 만들수 있게 하고, 그 안의 for문에서 permutations을 사용해 순서를 포함한 '순열'을 리스트에 추가한다.
- set을 사용하여 중복을 제거한다.
- 소수 개수를 출력
효율적인 코드
코드가 너무 많고, 내 코드도 복잡하진 않아보여서 skipp
피드백
- permutations을 사용하면, combinations와 다르게 순서를 다르게 뽑아준다.
배운 것
- permutitaions : 순열 (순서 O)
- combinations : 조합 (순서 X)
드디어 Level.2에 진입했다!
Author And Source
이 문제에 관하여([5/27] 소수 찾기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kj313903/527-3-1p2s0ofr저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)