본문 바로가기
Study/Algorithm & Data structure

[프로그래머스] 완전탐색 소수찾기 - 201102

by 후이 (hui) 2020. 11. 3.
반응형

 

1. 문제 설명 

 

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

 

코딩테스트 연습 - 소수 찾기

한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이

programmers.co.kr

 

 

2. 풀이 

 


from itertools import combinations,permutations
def solution(numbers):
    count = 0
    test_number = []

    for i in range(len(numbers)):
        case = list(set(map(''.join,permutations(numbers,i+1))))
        for j, number in enumerate(case):
            test_number.append(int(number))

    test_number = list(set(test_number))
    for i, number in enumerate(test_number):
        if isPrime(number)== True:
            count +=1

    return count



def isPrime(x):
    if x<2:
        return False
    else:
        for i in range(2,x):
            if x % i == 0:
                return False

    return True
728x90
반응형

댓글