from itertools import combinations
import math
def check_prime(A,B,C):
total = A+B+C
for i in range(2,int(math.sqrt(total))+1):
if total % i ==0:
return False
return True
def solution(nums):
result=0
A = list(combinations(nums,3))
for i in A:
if check_prime(i[0],i[1],i[2]):
result +=1
return result
조합(Combinations)을 이용한 간단한 풀이 되겠다.
근데 좀 재밌는 풀이를 보았다.
def solution(nums):
from itertools import combinations as cb
answer = 0
for a in cb(nums, 3):
cand = sum(a)
for j in range(2, cand):
if cand%j==0:
break
else:
answer += 1
return answer
처음 보는 문법을 마주한것인데
for - else라는 문법이였다.
찾아보니
data = [2,4,7,9,5]
for i in data:
if i>10:
break
else:
print('10보다 큰거는 없어')
뭐 이런식으로 쓰더라. 사실 아직까지는 어떻게 활용해야할지 감이 잘 안잡힌다.
그치만 새로운 문법을 배운것에 만족
'취준 > 프로그래머스' 카테고리의 다른 글
실패율 - 파이썬 (0) | 2022.05.24 |
---|---|
체육복 - 파이썬 (0) | 2022.05.22 |
인형뽑기 - 파이썬 (0) | 2022.05.19 |
키패드 - 파이썬 (0) | 2022.05.13 |
로또의 최고 순위와 최저 순위 - 파이썬 (0) | 2022.05.12 |