코딩테스트
구현17.프로그래머스 소수만들기 파이썬
Giant Oreo
2021. 5. 6. 14:50
def solution(nums):
arr = []
for i in range(len(nums)-2):
for j in range(i+1, len(nums)-1):
for k in range(j+1, len(nums)):
arr.append(nums[i]+nums[j]+nums[k])
cnt = 0
for i in arr:
if issosu(i):
cnt += 1
return cnt
def issosu(num):
for i in range(2, num):
if num % i == 0:
return False
return True
++다른 사람 코드 참고한 풀이 방법
combinations함수 이용하기 & for else(for 반복문에서 break로 빠지지 않은 경우에 처리할 내용)
combinations함수는 순서의 의미가 있고, 중복없는 조합을 리스트로 만들어주는 함수이다.
from itertools import combinations as cb
def solution(nums):
answer = 0
for i in list(cb(nums, 3)):
n = sum(i)
for j in range(2,n//2+1):
if n % j == 0:
break
else:
answer += 1
return answer