L2 : 소수 찾기 Python

jhyunn·2023년 1월 19일
0

Programmers

목록 보기
37/69

L2 : 소수 찾기 Python

https://school.programmers.co.kr/learn/courses/30/lessons/42839

from itertools import permutations
from math import sqrt

def solution(numbers):
    answer = 0
    
    # 숫자 조합 모두 구하기
    per = []
    for i in range(1, len(numbers)+1):
        per += [int(''.join(p)) for p in permutations(numbers, i)]
    per = set(per)
    
    for p in per:
        answer += 1
        
        # 2보다 작은 숫자는 제외
        if p < 2:
            answer -= 1
        
        # 2~제곱근+1 사이의 값으로 나누어 떨어지는지 확인
        else:
            for i in range(2, int(sqrt(p))+1):
                if p % i == 0:
                    answer -= 1
                    break
                
    return answer

#math #sqrt #itertools #permutation

profile
https://github.com/Sungjeonghyun

0개의 댓글