프로그래머스 - 소수찾기

이숭인·2021년 6월 23일
0

알고리즘 문제풀이

목록 보기
4/17

2. 소수찾기

풀이:
itertools의 permutation사용

  1. 종이조각으로 만들 수 있는 모든 조합을 구함
  2. 각각의 숫자가 소수인지 판별
  3. 소수인 수를 결과 배열에 저장
  4. 결과배열의 크기 == answer (만들 수 있는 소수의 개수)

코드:

from itertools import permutations

def solution(numbers):
    answer = 0

    permuArr = []
    answerArr = set()

    for i in range(1,len(numbers)+1):
        permuArr.append(set(map(''.join,permutations(numbers,i))))

    for item in permuArr:
        print(item)

    for items in permuArr:
        for item in items:
            if isPermutaion(item):
                answerArr.add(int(item))

    answer = len(answerArr)

    return answer

def isPermutaion(number):
    if int(number) <= 1:
        return False

    for i in range(2,int(number)):
        if int(number) % i == 0:
            return False
    #안 걸렸으
    return True
profile
iOS Developer

0개의 댓글