[프로그래머스 | Python] 소수 찾기(Level 2)

게으른 완벽주의자·2023년 2월 9일
0

프로그래머스

목록 보기
57/83

프로그래머스_소수 찾기_Level2

from itertools import permutations
def isPrime(num):
    if num==1 or num==0:
        return False
    
    for i in range(2,num):
        if num%i==0:
            return False
    return True


def solution(numbers):
    answer = set()
    numbers = list(numbers)
    for i in range(1,len(numbers)+1):
        for case in permutations(numbers, i):
            tmp = int(''.join(list(case)))
            if isPrime(tmp):
                answer.add(tmp)
    
    return len(answer)

프로그래머스는 '소수찾기' 문제가 level1,2에 있고 이는 level2 문제다
문자열로 들어오는 숫자의 각 자릿수를 조합하여 소수의 갯수를 찾아야하는데, answer를 list로 하면 중복되어 만들어지는 숫자도 포함되므로 set으로 변경해줬다

profile
데이터를 공부하고 있습니다

0개의 댓글