[Python-CodingTest] Lv1. 소수 만들기
소수 만들기
문제 정리
주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다.
숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요.
입력
[1,2,3,4,5]
처리 과정
itertools
라이브러리를 사용해 combination을 구한다.- 1번에서 구한 combination의 합이 소수라면 cnt 증가
출력
1
풀이
import itertools as it
def solution(nums):
cnt=0
for arr in it.combinations(nums,3): # arr는 하나의 완성된 조합 (리스트)
if isPrime(sum(arr)):
cnt+=1
return cnt
def isPrime(x):
if x==0 or x==1:
return False
else:
for i in range(2,(x//2)+1):
if x%i==0:
return False
return True
정리
import itertools as it
: combination을 구하기 위한 itertools 라이브러리 임포트 (it.combination()
으로 사용 가능)isPrime()
에서 for문 범위는(x//2)+1
까지만 해도 됨
💛 개인 공부 기록용 블로그입니다. 👻