본문 바로가기

코테

[프로그래머스] <소수 찾기> 파이썬

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

 

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

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

programmers.co.kr

from itertools import permutations

def combi(number) :
    case = []
    for i in range(1, len(number)+1) :
        case.append(list(permutations(number, i)))
    temp = []
    for i in range(len(case)) :
        for j in range(len(case[i])):
            temp.append(int(''.join(case[i][j])))
    return temp

def solution(numbers):
    case = combi(list(numbers))
    answer = []
    for i in range(0, len(case)) :
        for j in range(2, case[i]) :
            if case[i]%j == 0 : break           
        else : 
            if case[i] == 1 or case[i] == 0 : continue
            answer.append(case[i])
    answer = set(answer)
    answer = list(answer)
    return len(answer)

정확성 테스트

테스트 1 통과 (0.58ms, 10.4MB)
테스트 2 통과 (184.82ms, 10.4MB)
테스트 3 통과 (0.03ms, 10.4MB)
테스트 4 통과 (173.73ms, 10.6MB)
테스트 5 통과 (11.31ms, 11.9MB)
테스트 6 통과 (0.03ms, 10.4MB)
테스트 7 통과 (0.62ms, 10.4MB)
테스트 8 통과 (11.21ms, 11.9MB)
테스트 9 통과 (0.06ms, 10.4MB)
테스트 10 통과 (2724.56ms, 10.4MB)
테스트 11 통과 (79.24ms, 10.5MB)
테스트 12 통과 (1.71ms, 10.5MB)

채점 결과

정확성: 100.0

합계: 100.0 / 100.0