728x90
반응형
SMALL
프로그래머스 Level 1 소수 만들기를 파이썬을 통해 풀어보았다.
programmers.co.kr/learn/courses/30/lessons/72410programmers.co.kr/learn/courses/30/lessons/12977
코딩테스트 연습 - 소수 만들기
주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때
programmers.co.kr
tomy9729/Algorithm
🐗 내가 직접 작성한 내 코드 🐗. Contribute to tomy9729/Algorithm development by creating an account on GitHub.
github.com
Level 1 소수 만들기
#Level 1 소수 만들기.py
from itertools import combinations
def solution(nums):
answer = 0
arr = [True]*(max(nums)*3+1) #에라토스테네스의 체를 저장한 배열
arr[0] = False
arr[1] = False
arr = is_prime_num(max(nums)*3,arr)#에라토스테네스의 체
num_3 = list(combinations(nums,3)) #조합
for i in range(len(num_3)) :
if arr[sum(num_3[i])] :
answer += 1
return answer
def is_prime_num(n,arr) :
for i in range(2,n) :
j = 2
while i*j <= n :
l = i*j
arr[l] = False
j += 1
return arr
728x90
반응형
SMALL
'Problem Solving > programmers' 카테고리의 다른 글
[programmers] Level 1 폰켓몬.java (0) | 2021.05.09 |
---|---|
[programmers] Level 1 키패드 누르기.py (0) | 2021.05.07 |
[programmers] Level 1 음양 더하기.py (0) | 2021.05.07 |
[programmers] Level 1 내적.java (0) | 2021.05.05 |
[Programmers] Level 1 K번째수.java (0) | 2021.04.27 |