반응형
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 을 보면
이런 식으로 조합해서 나온다고 이해하면 된다.
따라서 저렇게 튜플을 뽑아주고 더한 게 소수냐 아니냐 판별만 해주면 된다.
반응형
'프로그래머스' 카테고리의 다른 글
[프로그래머스] 성격 유형 검사하기 파이썬 (0) | 2022.08.30 |
---|---|
[프로그래머스] 숫자 문자열과 영단어 파이썬 (0) | 2022.03.24 |
[프로그래머스] 약수의 개수와 덧셈 파이썬 (0) | 2022.02.17 |
[프로그래머스] 신규 아이디 추천 파이썬 (0) | 2022.02.13 |
프로그래머스 로또의 최고 순위와 최저 순위 파이썬 (0) | 2021.08.09 |