주어진 배열에서 세 개의 수의 조합의 합이 소수인지 판별하는 알고리즘이다. 즉, 조합->소수판별만 하면 해결이다. 소수판별시 숫자의 제곱근까지만 반복문을 돌리면 확인이 된다는 사실을 기억하고 넘어가자.
조합
[Python] 순열(permutations )과 조합(combinations) (tistory.com)
for-else
Park's Life :: [Python] 파이썬 for-else 문 (tistory.com)
코드
from itertools import combinations
from math import sqrt
def solution(nums):
answer = 0
for comb in combinations(nums,3):
s = sum(comb)
if s % 2 == 0:
continue
for n in range(3,int(sqrt(s))+1):
if s % n == 0:
break
else:
answer += 1
return answer
'PS > 프로그래머스' 카테고리의 다른 글
k번째 수 (lv1) (0) | 2022.07.03 |
---|---|
완주하지 못한 선수 (lv1) (0) | 2022.07.03 |
키패드 누르기 (lv1) (0) | 2022.07.02 |
숫자 문자열과 영단어 (lv1) (0) | 2022.07.01 |
신규 아이디 추천 (lv1) (0) | 2022.07.01 |