728x90

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

 

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

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

programmers.co.kr

import itertools
def solution(numbers):
    num = []
    for i in range(len(numbers)):
        num.extend(list(set(list(map(''.join, itertools.permutations(numbers,i+1))))))

    num=list(set([int(i) for i in num]))
    answer = len(num)
    for i in range(len(num)):
        if num[i] == 0 or num[i] == 1:
            answer -= 1
        if num[i] > 2:
            for j in range(2, int(num[i]**0.5)+1):
                if num[i]%j == 0:
                    answer -= 1
                    break  
    return answer
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기