소수 찾기

Kylie·2023년 10월 21일

프로그래머스 Lv.2

목록 보기
3/3

내 코드

from itertools import permutations
'''
def prime(num):
    for i in range(2, int(num**0.5 + 1)):
        if num % i == 0:
            return False
    return True
'''
def solution(numbers):
    answer = []
    P = []
    for i in range(1, len(numbers)+1):
        p = list(map(''.join, permutations(numbers, i)))
        P += p
'''
    real = list(map(int, P))
    real = set(real)
'''
    for j in real:
        if prime(int(j)) == True and j != 0 and j !=1 :
            answer.append(j)
'''
    return len(answer)

+5

다른 풀이

from itertools import permutations
def solution(n):
    a = set()
    for i in range(len(n)):
        a |= set(map(int, map("".join, permutations(list(n), i + 1))))
    a -= set(range(0, 2))
    for i in range(2, int(max(a) ** 0.5) + 1):
        a -= set(range(i * 2, max(a) + 1, i))
    return len(a)

효율 안 좋음 ㅎ
profile
딥린이

0개의 댓글