프로그래머스
[프로그래머스] 소수 만들기 파이썬
띵지니어
2022. 2. 21. 20:08
반응형
https://programmers.co.kr/learn/courses/30/lessons/12977
코딩테스트 연습
from itertools import combinations
def is_prime(n):
if n == 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
def solution(nums):
answer = 0
result = list(combinations(nums, 3))
for i in result:
if is_prime(sum(i)):
answer += 1
return answer
처음엔 사실 3중 for 문을 사용했었는데 라이브러리 사용하는 게 더 나은 풀이라고 생각하여 combinations을 활용했다.
- combinations
r개의 데이터를 뽑아 순서를 고려하지 않고 나열하는 모든 경우(조합)
입출력 예 1 을 보면
이런 식으로 조합해서 나온다고 이해하면 된다.
따라서 저렇게 튜플을 뽑아주고 더한 게 소수냐 아니냐 판별만 해주면 된다.
반응형