[프로그래머스] Lv2. 소수 찾기

개발자와 콩나무·2024년 10월 15일

개발공부

목록 보기
14/14

문제

아이디어

💡 소수 찾기 알고리즘 : 에라토스테네스의 체 -> math.sqrt 라이브러리 사용하여 시간복잡도 줄이기
💡 순열 모듈 사용하기 << 중요!!

작성한 코드 & 보완

from itertools import permutations
import math

#소수 판별 함수
def is_prime_number(x) :
    if x < 2 :
        return False
    
    for i in range (2, int(math.sqrt(x)) + 1):
    	if x % i == 0:
        	return False
    return True 

def solution(numbers):
    answer = 0
    
    num = []
    for i in range(1, len(numbers)+1) :
        num.append(list(set(map(''.join, permutations(numbers, i)))))
    per = list(set(map(int, set(sum(num, [])))))
    
    for p in per :
        if is_prime_number(p) == True :
            answer += 1
profile
무럭무럭 자라는 개발자와 콩나무 🌱 콩 한 쪽이라도 기록하자! 개발 실력 향상을 위한 백엔드와 머신러닝, 자격증 공부기록

0개의 댓글