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

bye9·2021년 4월 19일
0

알고리즘(코테)

목록 보기
115/130
post-custom-banner

https://programmers.co.kr/learn/courses/30/lessons/12977


문제풀이

소수를 찾는 check함수를 별도로 정의하고 리스트 중 3개를 뽑는 조합을 구해 check함수가 True인지 확인해주었다.

처음엔 같은 sum을 중복제거처리를 해주었는데 하면 안된다 ㅎㅎ..

소스코드

틀린 코드

from itertools import combinations
import math

def solution(nums):
    def check(x):
        if x<2:
            return False
        
        for i in range(2, int(math.sqrt(x))+1):
            if x%i==0:
                return False
        return True
    
    array=list(combinations(nums,3))
    set_array=set()
    for i in array:
        value=sum(i)
        set_array.add(value)
    
    print(set_array)

맞은 코드

from itertools import combinations
import math

def solution(nums):
    def check(x):
        if x<2:
            return False
        
        for i in range(2, int(math.sqrt(x))+1):
            if x%i==0:
                return False
        return True
    
    array=list(combinations(nums,3))
    array2=[]
    for i in array:
        value=sum(i)
        array2.append(value)
    
    result=0
    for i in array2:
        if check(i):
            result+=1
    return result
post-custom-banner

0개의 댓글