프그스_1_소수 만들기 (is_prime( )수식과 itertools combinations( ))

RostoryT·2022년 5월 14일
0

Stack Queue

목록 보기
1/17

''' 내가 푼 (소수 함수는 블로그 가져옴) '''
from itertools import combinations       # 중요

def is_prime_number(x):
    for i in range(2, x):
        if x % i == 0:
            return False
    return True

def solution(nums):
    answer = 0
    a = list(combinations(nums, 3))   # nC3 계산
    
    for i in range(len(a)):
        if is_prime_number(sum(a[i])) == True:
            answer += 1

    return answer

''' 내가 푼 - 수정수정 '''
from itertools import combinations       # 중요

def solution(nums):
    answer = 0
    
    for comb in combinations(nums, 3):     # nC3 계산
        for j in range(2, sum(comb)):      # 소수판별
            if sum(comb) % j == 0: break
        else: answer += 1                  # for-else문 사용

    return answer

''' 다른 사람 정답 '''

def solution(nums):
    from itertools import combinations as cb
    answer = 0
    for a in cb(nums, 3):
        cand = sum(a)
        for j in range(2, cand):
            if cand%j==0:
                break
        else:                    # for-else 구문 사용 (중요)
            answer += 1
    return answer
profile
Do My Best

0개의 댓글