[프로그래머스 / Level 1] 소수 만들기 (파이썬)

khyojun·2022년 7월 26일
0

코테연습

목록 보기
11/21

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

📌제한 사항

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

📌 Solution
이번 문제는 combination을 잘 활용하면 쉽게 해결할 수 있었다.

from itertools import combinations # 소수 만들기

def is_prime(m):
    
    for i in range(2, int(m**0.5)+1):
        if m%i==0:
            return False
    return True


def solution(nums):
    answer = 0

    # [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
    
    com=combinations(nums, 3)
    for i in com:
        now_list=list(i)
        sum=0
        for j in now_list:
            sum+=j
        if is_prime(sum):
            answer+=1
        

    return answer
   
            
profile
코드를 씹고 뜯고 맛보고 즐기는 것을 지향하는 개발자가 되고 싶습니다

0개의 댓글