소수찾기_프로그래머스_level2_파이썬

a = {1,2,3}
b = {2,1,5}
a|=b
a =b a를 a,b의합집합으로 설정
  • 나의 풀이
from itertools import permutations
def is_prime(x):
    count = 0
    if x ==1 or x == 0:
        return 0
    for i in range(2, int(x/2)+1):
        if x%i == 0:
            count+=1
    if count ==0:
        return 1
    else :
        return 0

def solution(numbers):
    answer = []
    numbers = list(numbers)
    for i in range(1, len(numbers)+1):
        cmb = list(permutations(numbers,i))
        lst = []
        for i in cmb:
            instr= int(''.join(i))
            lst.append(instr)
        lst = list(set(lst))
        for i in lst:
            if is_prime(i) == 1:
                answer.append(i)
        
    return len(set(answer))
solution("011")
2
  • 다른 사람 풀이
from itertools import permutations
def solution(n):
    a = set()
    for i in range(len(n)):
        a |= set(map(int, map("".join, permutations(list(n), i + 1))))
    a -= set(range(0, 2))
    for i in range(2, int(max(a) ** 0.5) + 1):
        a -= set(range(i * 2, max(a) + 1, i))
    return len(a)


solution("011")
2

Comments