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

+ Recent posts