코딩공부/프로그래머스 (python)
[프로그래머스] 소수 만들기 (python)
CodingKwon
2021. 7. 16. 11:21
문제 링크 (Leve 1)
https://programmers.co.kr/learn/courses/30/lessons/12977
코딩테스트 연습 - 소수 만들기
주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때
programmers.co.kr
나의 코드 (python)
from itertools import combinations
# 소수 구하기
def check(a,b,c):
sum = a + b + c
for i in range(2, sum):
# 소수가 아니면 0 반환
if sum % i == 0:
return 0
# 소수면 1 반환
else:
return 1
def solution(nums):
answer = 0
# 3개의 조합을 구함
arr = list(combinations(nums, 3))
# 세 수의 조합이 소수인지 카운팅
for a,b,c in arr:
answer += check(a,b,c)
return answer
3개의 합의 소수를 구할 check 함수를 구했습니다.
이 문제에서 배열에 3개의 조합을 구할때 list(combinations(nums, 3))을 사용한다면 쉽게 3개 수의 조합을 구할 수 있습니다.
이를 사용하기 위해서는 from itertools import combinations를 추가해야 합니다.