https://programmers.co.kr/learn/courses/30/lessons/12977?language=python3
입력 nums 중에 3개를 순서없이 뽑아내야 하므로 조합을 사용해야 한다.
파이썬 내장 함수를 사용할 수 있음
from itertools import combinations
combinations(arr, 3)
이렇게 사용하면 된다.
그리고 소수인지 판별하는 방법은
import math
def is_prime_number(x):
for i in range(2, int(math.sqrt(x)) + 1): # 2부터 x의 제곱근까지 확인 (에라토스테네스의 체)
if x % i == 0: # x가 어떤 수와 나누어떨어지면
return False # 소수X
return True # 소수O
일케 판별하는 함수를 만들었다.
from itertools import combinations
import math
def solution(nums):
answer = 0
def is_prime_number(x):
for i in range(2, int(math.sqrt(x)) + 1):
if x % i == 0:
return False # 소수x
return True # 소수O
for i in combinations(nums, 3):
if is_prime_number(sum(i)):
answer+=1
return answer
파이썬 함수를 사용했는데 함수를 안쓰는 법도 공부해야겠다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 모의고사 for Python (0) | 2022.04.09 |
---|---|
[프로그래머스] 완주하지 못한 선수 for Python (0) | 2022.03.20 |
[프로그래머스] 신고 결과 받기 for Python (0) | 2022.03.17 |
[프로그래머스] 크레인 인형뽑기 게임 for Python (0) | 2022.03.15 |
[프로그래머스] 키패드 누르기 for Python (0) | 2022.03.15 |