[프로그래머스] - 소수 만들기(Python)
문제📝
풀이💡
- 문제에 필요한
itertools
와math
라이브러리를 사용한다.- nums에서 3개로 이루어진 조합을 찾는다.
- sum_list에 각 조합을 더한 값들을 넣어준다.
isprime()
이라는 소수를 판단하는 함수를 만들고 sum_list에서isprime()
을 적용해서 소수에 해당하면 answer에 1을 더한다.
코드💻
# 프로그래머스 Lv1 - 소수 만들기
# 문제링크: https://programmers.co.kr/learn/courses/30/lessons/12977
import itertools # 콤비네이션을 위한 라이브러리
import math # sqrt를 위한 라이브러리
def solution(nums):
answer = 0
sum_list=[]
cnt = itertools.combinations(nums,3)
for i in cnt:
sum_list.append(sum(i))
for j in sum_list:
if isprime(j):
answer +=1
return answer
def isprime(a):
for k in range(2,int(math.sqrt(a)+1)): # 2부터 a의 제곱근까지
if a%k == 0:
return False
return True
# 지정한 숫자가 k로 나누었을 때 0으로 떨어지지 않으면 소수
결과😎
느낀점👨💻
코딩을 하면서 조합을 사용하는 문제는 처음 풀어서 조합을 사용하기 위한 라이브러리인 itertools도 알게 되었고 한층 더 문제를 파악하는 능력을 길러주게 하는 문제였다.
Sinbmil의 알고리즘 문제 코드
-> https://github.com/Sinbmil/Algorithm-Study
Author And Source
이 문제에 관하여([프로그래머스] - 소수 만들기(Python)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sinbmil/프로그래머스-소수-만들기Python저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)