python 소수 만들기

quokka·2021년 4월 14일
0

코딩테스트

목록 보기
28/63

풀이 아이디어
1.nums에 있는 숫자 3개합해서 나올수있는 모든 수 배열에 넣기
1) 조합이용 전체C3
2) Set으로 넣어주기(중복제거)
2.그 배열에있는 숫자중 소수가 몇개인지 찾기
문제풀때 3숫자의 합으로 나온것들도 중복되면 안되는줄 알고 풀었다가 안풀려서 뭔가했더니 이 합은 중복해도 되는거였다;(set()으로 중복제거해주고있었음;)

from itertools import combinations
from math import sqrt
def solution(nums):
    cb = list(combinations(nums,3))
    li=[]
    count=0
    for tu in cb:
        li.append(sum(tu))
    for i in li:
        rootI=round(sqrt(i))
        isPrime = True
        for j in range(2,rootI+1):
            if i%j==0: # 값%j 나머지 0일때 -> 소수아님
                isPrime=False
                break
        if isPrime:
            count += 1
    return count

참고했습니다
https://velog.io/@neity16/Programers-%EC%86%8C%EC%88%98-%EB%A7%8C%EB%93%A4%EA%B8%B0

profile
iOS를 공부하는 개발자입니다~ㅎㅎ

0개의 댓글

관련 채용 정보