Programmers Coding-Test

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

으녜 2021. 4. 29. 20:19
728x90
 

코딩테스트 연습 - 소수 만들기

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

programmers.co.kr

 

💡문제💡

숫자들이 들어 있는 배열 num가 주어졌을 때, 주어진 숫자 중 3개를 더해 소수가 되는 경우의 개수를 return 하시오.

 

 

[제한 사항]

  • nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다.
  • nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다.

 

 

 

코드 및 풀이👩🏻‍💻

'''

from itertools import combinations

def check(i):
    for j in range(2,i):
        if i%j==0:
            return 0
    return 1

def solution(nums):
    answer = list(combinations(nums,3))
    count = 0

    for i in range(len(answer)):
        if(check(sum(answer[i]))==1):
            count +=1
    return count

'''

*combinations() 함수 => list 내 모든 조합 구하기

ex ) combinations(nums,3) : nums 리스트 내 3개 요소를 포함하는 모든 조합 구하기

728x90