관리 메뉴

솜씨좋은장씨

[Programmers] Summer/Winter Coding(~2018) : 소수 만들기 (Python) 본문

Programming/코딩 1일 1문제

[Programmers] Summer/Winter Coding(~2018) : 소수 만들기 (Python)

솜씨좋은장씨 2020. 4. 16. 00:32
728x90
반응형

1일 1문제 70일차!

오늘의 문제는 프로그래머스의 Summer/Winter Coding(~2018)의 소수만들기입니다.

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

Solution

from itertools import combinations

def getPrimaryNum_Eratos(N): 
    nums = [True] * (N + 1) 
    for i in range(2, len(nums) // 2 + 1): 
        if nums[i] == True: 
            for j in range(i+i, N, i): 
                nums[j] = False 
    return [i for i in range(2, N) if nums[i] == True]
    

def solution(nums):
    permu_list = []
    
    my_permu_list = list(combinations(nums, 3))
    
    for i in range(len(my_permu_list)):
        permu_list.append(sum(my_permu_list[i]))
    
    
    max_num = max(permu_list)
    
    prime_nums = getPrimaryNum_Eratos(max_num + 1)
    
    print(permu_list)
    
    answer_nums = [num for num in permu_list if num in prime_nums]
    
    print(answer_nums)
    
    answer = len(answer_nums)
    
    return answer

 

 

SOMJANG/CODINGTEST_PRACTICE

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments