Algorithm/Programmers

[Python] 소수 만들기

느낌표 공장장 2021. 5. 11. 14:54
from itertools import combinations

def solution(nums):
    coms = list(combinations(nums, 3))
    answer = 0
    for com in coms :
        num = sum(com)
        count = 0
        
        for i in range(2, num+1) :
            if num % i == 0 :
                count += 1
                
        if count == 1 :
            answer += 1
            
    return answer

 


풀이

① combinations 함수를 사용하여 입력받은 nums에서 숫자 3개를 가져와 만들수 있는 조합을 coms에 리스트로 받는다.

② for 문을 통해 3개의 조합의 합이

     ➀ (2번째 for문) 2부터 자기자신까지 반복하면서 i로 나누었을때 나누어 떨어지면 count에 +1을 해준다.

     ➁ for문을 다 돌았을 때, 만약 count가 1이라면(나누어 떨어지는 것이 자기자신밖에 없다는 의미) 소수이므로 answer에 +1을 해준다.

 

'Algorithm > Programmers' 카테고리의 다른 글

[Python] 보석 쇼핑  (0) 2021.05.11
[Python] 로또의 최고 순위와 최저 순위  (0) 2021.05.11
[Python] 오픈채팅방  (0) 2021.05.07
[Python] 실패율  (0) 2021.05.02
[Python] 다트 게임  (0) 2021.05.01