[알고리즘 고득점 Kit] 소수 찾기

문제 풀이

주어진 문자열을 순열로 조합하여 소수인지 아닌지 찾아내는 문제입니다.

파이썬 라이브러리인 permutations를 사용하고 소수인지 판별하는 단순 for문을 사용하여 해결하였습니다.

풀이 코드

from itertools import permutations

def check(n):
    for i in range(2, n):
        if n % i == 0:
            return False

    return True

def solution(numbers):
    answer = 0
    total = set()
    for i in range(1, len(numbers) + 1):
        for comb in permutations(numbers, i):
            target = ''
            for i in comb:
                target += i
            total.add(int(target))

    for num in total:
        if num == 1 or num == 0:
            continue

        if check(num):
            answer += 1
        else:
            continue
    return answer
반응형