본문 바로가기
Today/Study

23/12/06

by shulk 2023. 12. 6.

프로그래머스 소수 만들기

문제

 

 

from itertools import combinations
import math

def solution(nums):
    answer = 0

    for i in combinations(nums,3):
        for k in range(2,int(math.sqrt(sum(i)))+1):
            if sum(i) % k == 0: 
                break
        else:
            answer+=1

 

nums에 있는 리스트에서 3개를 골라 소수인지 판별 해야한다는걸보고 바로 combinations이 생각났다!!

(combinations는 순서를 고려하지 않고 조합의 경우를 구할때 사용)

3개의 조합 경우를 각각 다 더하고 소수인지 판별하면 끝인데 여기서 소수인지 효율적으로 구하는 방법은 2부터 해당값의 제곱근+1 까지만 나머지가 0인지 판별하면 된다.

 

'Today > Study' 카테고리의 다른 글

23/12/08  (0) 2023.12.08
23/12/07  (0) 2023.12.07
23/12/04  (0) 2023.12.04
23/12/01  (0) 2023.12.01
23/11/30  (0) 2023.11.29