Notice
Recent Posts
Recent Comments
Link
S E P H ' S
[Python] 소수 만들기 본문
코딩테스트 연습 - 소수 만들기
주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때
programmers.co.kr
1. combinations 를 사용해서 nums에서 3개를 고른다.
2. 반복문 안에서 3개의 수를 더한 수를 구하고 2부터 그 수의 제곱근 까지 나누어서 나머지가 0인 수가 있으면 소수가 아님을 이용한다.
3. 만약 소수라면 answer 의 개수를 1씩 증가 시킨다.
from itertools import combinations as c
def solution(nums):
answer = 0
comb = list(c(nums,3))
for n in comb:
current_n = sum(n)
isPrime = True
for i in range(2, int(current_n ** 0.5) + 1):
if current_n % i == 0:
isPrime = False
if isPrime:
answer += 1
return answer
'Algorithm > Programmers' 카테고리의 다른 글
[Python] 소수찾기 (0) | 2021.07.06 |
---|---|
[Python] 모의고사 (0) | 2021.07.05 |
[Python] 시저 암호 (0) | 2021.06.25 |
[Python] 최대공약수와 최소공배수 (0) | 2021.06.25 |
[Python] 콜라츠 추측 (0) | 2021.06.25 |