문제
풀이
- primeNumber()는 에라토스테네스의 체를 이용해 소수리스트를 만드는 함수로, 에라토스테네스의 체 연습용
- solution()은 combinations라이브러리를 사용해 nums에서 3개를 뽑고, 그 3개의 합이 소수리스트에 들어있으면 +1
코드
# 에라토스테네스의 체
def primeNumber():
lst, prime = [0] * 3001, []
lst[0] = lst[1] = 1
for i in range(2, 3001):
if not lst[i]:
prime.append(i)
for j in range(2 * i, 3001, i):
lst[j] = 1
return prime
def solution(nums):
from itertools import combinations
answer = 0
prime_lst = primeNumber()
for item in combinations(nums, 3):
if sum(item) in prime_lst:
answer += 1
return answer
반응형
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers] Lv1. 신규 아이디 추천 (0) | 2021.05.15 |
---|---|
[Programmers] Lv1. 내적 (0) | 2021.05.15 |
[Programmers] Lv1. 음양 더하기 (0) | 2021.05.15 |
[Programmers] Lv1. 로또의 최고 순위와 최저 순위 (0) | 2021.05.14 |
[Programmers] Lv1. 모의고사 (0) | 2021.05.14 |
댓글