https://programmers.co.kr/learn/courses/30/lessons/12977
○ 문제 풀이
def solution(nums): from itertools import combinations import math def find(n): if n == 1: return False for i in range(2, int(math.sqrt(n)) + 1): if n % i == 0: return False return True count = 0 a = list(combinations(nums,3)) comblist = [] for i in range(len(a)): comblist.append(sum(a[i])) if find(sum(a[i])) == True: count += 1 return(count) |
수학에서 순열과 조합으로 쓰이는 nCr을 파이썬으로 구현하여 그 값들이 소수인지 아닌지 판단하는 함수를 이용하여 해결.
○ 새롭게 배운 점
1) 수학에서 순열과 조합으로 쓰이는 nCr을 파이썬으로 구현하여 그 값들이 소수인지 아닌지 판단하는 함수를 이용.
ex) from itertools import combinations 이용 -> a = list(combinations(nums, 3))
nums list에서 3개를 뽑아 만든다는 것이다. 파이썬에서의 list(combination(n,r)) = nCr 이다.
프로그래머스는 백준 문제보다는 퀄리티가 좋은 문제들이 많은 것 같다.. 한 문제 한 문제 풀 때마다 많이 배운다.
728x90
'파이썬알고리즘' 카테고리의 다른 글
백준 10845번 큐 (파이썬) (0) | 2022.04.23 |
---|---|
백준 1605 한수 (파이썬) (0) | 2021.08.30 |
Programmers Weekly challenge - 4주차 (0) | 2021.08.25 |
Programmers Weekly challenge - 2주차 (0) | 2021.08.24 |
20210816#(80) 백준 100문제 돌파! (부제 : 게시글 99개 달성) (0) | 2021.08.16 |