[프로그래머스 Lv1] 소수 만들기 / 파이썬 Python

Gayoung Lee·2022년 5월 17일
0

Algorithm

목록 보기
29/39

문제

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

내 풀이

from itertools import combinations
def solution(nums):
    def isPrime(x):
        for i in range(2,x):
            if x%i==0:
                return False
        return True
    answer = 0
    #주어진 배열의 3개짜리 조합을 구하고 
    #조합의 합이 소수가 되는지 확인한다 
    com=[]
    for i in list(combinations(nums,3)):
        com.append(i)
    for x in com:
        if isPrime(sum(x)):
            answer+=1
    return answer

문법 정리

  • python 순열과 조합
    from itertools import permutations
    from itertools import combinations
    combinations(list,3) # 이런식으로 쓴다

  • python 간단한 isPrime

    def isPrime(x):
        for i in range(2,x):
            if x%i==0:
                return False
        return True
profile
삽질하며 성장하는 gayoungee

0개의 댓글