[프로그래머스] [파이썬] 소수 만들기


programmers code test - 소수 만들기

코드
from itertools import combinations
def solution(nums):
    answer = [] 
    # 소수가 아닌 수를 answer로 설정한 뒤 풀이합니다.
    for i in (list(map(sum, combinations(nums, 3)))):
        for j in range(2, i):
            if i%j == 0: 
            #소수 = 해당 정수와 1을 제외하고 나누어떨어지는 수가 존재하지 않는 수
                answer.append(i)
    return len([x for x in list(map(sum, combinations(nums, 3))) if x not in answer])
    #리스트 리프리헨션을 이용
    #3개를 골라 더한 조합 중 소수가 아닌 수들로 이루어진 리스트의 갯수를 구하였습니다.

*Solutions
리스트 a 내에 b개의 수로 이루어진 조합을 구해내는
itertools/combinations의 combinations(a, b) 기능을 활용하였습니다
사용법은 코드 내에서 보여지
from itertools import combinations로 combinations 모듈을 불러옵니다.
유사한 모듈로 '순열' 모듈인 perminations도 존재하는데
이는 숫자 조합들을 구하는 combinations와 다르게 숫자들의 배열들을 '모두' 구해줍니다.

좋은 웹페이지 즐겨찾기