ror_coding

[Programmers] 소수 만들기 - 12977 본문

Algorithm/Python

[Programmers] 소수 만들기 - 12977

ro_rdil_31 2024. 10. 12. 12:10
728x90

조합 후 소수가 되는 경우 개수길래 set(조합해서 나온 수) 을 해서 중복을 방지했는데 .. 중복 허용인가보다 ㅎㅎ set을 빼니 맞았다.

 

Question

 

주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요.

 

 

Code

 

from itertools import combinations as comb
def solution(nums):
    answer = 0
    sums = [sum(c) for c in comb(nums,3)]
    
    for n in sums:
        if not sum(1 for i in range(2,int(n**0.5)+1) if n%i==0):
            answer += 1

    return answer

 

now me

On my github

 

728x90