10/24 소수 만들기
https://school.programmers.co.kr/learn/courses/30/lessons/12977
주어진 리스트의 원소 중 3개를 선택해서 더한 값이 소수인 경우의 수를 구하는 문제이다..
내 풀이
def solution(nums):
answer = 0
length = len(nums)
for i in range(length - 2) :
for j in range(i + 1, length - 1) :
for k in range(j + 1, length) :
num = nums[i] + nums[j] + nums[k]
if num % 2 :
is_prime = True
for l in range(3, int(num ** 0.5 + 1), 2) :
if num % l == 0 :
is_prime = False
break
if is_prime :
answer += 1
return answer
다른 사람의 풀이
from itertools import combinations as cb
def solution(nums) :
answer = 0
for a in cb(nums, 3) :
cand = sum(a)
for j in range(2, cand) :
if cand % j == 0 :
break
else :
answer += 1
return answer
댓글남기기