반응형
programmers.co.kr/learn/courses/30/lessons/12977
import itertools
def solution(nums):
def isPrime(num:int):
for i in range(2, num):
if num % i ==0:
return False
return True
answer = 0
lst = itertools.combinations(nums,3)
for case in lst:
num = sum(case)
if isPrime(num):
answer +=1
return answer
생각해보니 소수인지 판별하는 함수에서 굳이 i의 범위를 2부터 num 직전까지 주지 않아도 됐다.
import itertools
def solution(nums):
def isPrime(num:int):
for i in range(2, (num//2)+1):
if num % i ==0:
return False
return True
answer = 0
lst = itertools.combinations(nums,3)
for case in lst:
num = sum(case)
if isPrime(num):
answer +=1
return answer
성능도 약간 상승하였음을 보였다.
댓글