[python] 소수 만들기

ever.d·2021년 11월 14일
0

programmers

목록 보기
4/6
post-thumbnail

소수 만들기

1. combinations 함수 사용

from itertools import combinations
def solution(nums):
ans = 0
num = list(map(sum,combinations(nums,3)))
for prime_num in num:
for i in range(2,prime_num):
if prime_num % i == 0:
break
else:
ans +=1
return ans

⭐ idea

nums 중 3개를 뽑아 합을 구한 후 list로 만들기.
이중 for 문을 사용해 2와 list의 원소들, 그 사잇값들을 찾되
(1은 자기 자신으로 나누는 case이므로 제외)
나누어떨어지면 1과 자기 자신 외에 또 다른 소인수가 있다는 뜻이므로 break으로 빠져나감.
그 외 case는 1과 자기 자신만 가지기에 ans의 CNT를 1씩 증가시킨 후
최종적으로 ans return

😊 python 에서는 itertools의 permutations와 combinations를 통해

순열과 조합을 구할 수 있다.

ex)

import itertools
chars = ['a','b,'c']

p = itertools.permutations(chars, 2) # 순열
c = itertools.combinations(chars, 2) # 조합

print(list(p))

[('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')]

print(list(c))

[('A', 'B'), ('A', 'C'), ('B', 'C')]

profile
developer / not moving for fortune, only aiming for clear sense of purpose. That's all.

0개의 댓글