코딩테스트 연습 > 완전탐색 > 소수 찾기

파이톨치·2022년 1월 30일
1
post-thumbnail

문제

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

코드

from itertools import permutations

#소수인지 판별하는 함수
def is_prime(n):
    if n == 1 or n == 0:
        return False
    for i in range(2, n):
        if n % i == 0:
            return False 
    return True

def solution(numbers):
    answer = 0
    array = []
    # 일단 쪼개기
    for i in range(len(numbers)):
        array.append(numbers[i])
    
    #합치기
    NumberOfCases = []
    num = 0
    all = []
    for i in range(1, len(array)+1):
        NumberOfCases = permutations(array, i)
        for i in NumberOfCases:
            num = int("".join(i))
            all.append(num)
    all = list(set(all))

    #소수인지 판단하기
    for i in all:
        if is_prime(i) == True:
            print(i)
            answer += 1
    
    return answer

개인적으로 이렇게 풀면 효율성은 별로인듯

profile
안알랴줌

0개의 댓글