https://programmers.co.kr/learn/courses/30/lessons/12977
해당 문제는 itertools의 combinations함수를 활용하여 풀었다.
from itertools import combinations
def solution(nums):
cnt= 0
for i in list(combinations(nums,3)):
# 조합 튜플 합계 계산
sums= sum(i)
# 합계가 소수인지 아닌지 판별한 후 소수이면 +1, 소수가 아니면 +0
for j in range(1,sums-1):
if sums % (j+1) != 0: step=1
else: step=0; break
cnt += step
return cnt
* combinations함수는 첫번째 파라미터로 들어온 배열에서 두번째 파라미터로 들어온 수만큼의 조합을 튜플형태로 만들어준다. 만들어진 조합을 list로 묶어 사용할 수 있다.
* 소수는 자기자신과 1로 밖에 나누어지지 않는 수를 말한다.
list(combinations([1,2,3], 2))
을 실행하면 [(1,2),(2,3),(1,3)]을 반환해준다.
'python > 알고리즘 문제풀이' 카테고리의 다른 글
[프로그래머스 | 파이썬3] 신규 아이디 추천_정규표현식, strip활용 (1) | 2021.05.18 |
---|---|
[프로그래머스 | 파이썬3] 내적_sum함수 활용 (1) | 2021.05.18 |
[프로그래머스 | 파이썬3] 음양더하기_ 기본연산식, sum함수 사용 (2) | 2021.05.15 |
[프로그래머스 | 파이썬3] 모의고사_enumerate, zip 활용 (1) | 2021.05.15 |
[프로그래머스 | 파이썬3] 체육복_ set, pop 사용 (1) | 2021.05.13 |