
주소: https://programmers.co.kr/learn/courses/30/lessons/12977
코딩테스트 연습 - 소수 만들기
주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때
programmers.co.kr
[ 문제 ]

[ 나의 귀여운 풀이 ]
from itertools import combinations
def eratosthenes_sieve(size):
aristo = [True] * size
aristo[0] = False
aristo[1] = False
end = int(size ** 0.5)
for i in range(2, end+1):
if aristo[i]:
for j in range(i + i, size, i):
aristo[j] = False
return aristo
def solution(nums):
prime = aristo_sieve(3001)
combi = list(combinations(nums, 3))
answer = 0
for i in range(len(combi)):
if prime[sum(combi[i])]:
answer +=1
return answer
[ 배운 것 ]
1. 에라토스테네스의 체(Eratosthenes Seive): https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes
[ 개인적인 만족도 ]
(수달 1~5마리)
수달: 3마리!
꾸준히 열심히!
'Otter's [ 개발새발 ] > # 코딩테스트 - Programmers' 카테고리의 다른 글
| [SWEA 3809번_Python] 화섭이의 정수 나열_in keyword, find 메소드 (0) | 2022.11.15 |
|---|---|
| [Programmers 코딩테스트 연습_Lv1_Python] 완주하지 못한 선수 (0) | 2022.06.11 |
| [Programmers 코딩테스트 연습_Lv1_Python] 내적 (0) | 2022.06.11 |
| [Programmers 코딩테스트 연습_Lv1_Python] 없는 숫자 더하기 (0) | 2022.06.03 |
| [Programmers 코딩테스트 연습_Lv1_Python] 내적 (0) | 2022.06.03 |