회고
combinations메서드를 이용해서 3가지 요소를 포함하되 반복이 허용되지 않는 조합을 만들었다.
파이썬은 다양한 라이브러리가 존재하기 때문에 아는 만큼 사용할 수 있다.
이전에 combinations을 모를 당시는 이러한 조합을 만들기 위해서 직접 코딩을 해야만 했다면, 이제는 간단히 라이브러리를 이용해서 코드를 구현할 수 있다는 점에서 너무 좋은 라이브러리를 많이 제공한다는 생각이 든다.
하지만 한편으로는 이렇게 다양한 라이브러리를 쓰면, 직접 로직을 구현 해 볼 때와는 달리 생각을 많이 하지 않는다는 점에서 괜찮은가? 라는 생각이 든다.
파이썬이외의 다른 언어를 사용하게 된다면, 다른 언어에서 제공하는 라이브러리가 있을 수도 있으나, 그러지 않은 경우라면, 직접 로직을 구현해야 할 것이다.
사용할 수 있는 라이브러리는 사용하면 좋을 것이다. 하지만 어떻게 이런 기능을 제공할 수 있는지 로직적으로 생각을 해 본다면, 더 효과적으로 라이브러리를 사용하는 것이 아닌가 라는 생각이 든다.
풀이
https://school.programmers.co.kr/learn/courses/30/lessons/12977
from itertools import combinations
def is_prim(i):
for k in range(2, i):
if i%k == 0:
return False
return True
def solution(nums):
result = list(combinations(nums,3))
cnt = 0
for i in result:
if is_prim(sum(i)):
cnt += 1
return cnt
nums = [1,2,3,4]
result = solution(nums)
print(result)
def prime_number(x):
answer = 0
for i in range(1,int(x**0.5)+1):
if x%i==0:
answer+=1
return 1 if answer==1 else 0
result = prime_number(11)
print(result)