[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

💻 CS/알고리즘 연습

[알고리즘 연습] 소수 만들기 (프로그래머스 lv1, 파이썬)

inu 2021. 12. 30. 22:29
반응형

문제

https://programmers.co.kr/learn/courses/30/lessons/12977

 

코딩테스트 연습 - 소수 만들기

주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때

programmers.co.kr

풀이

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, int(cand**0.5)+1):
            if cand%j==0:
                break
        else:
            answer += 1
    return answer
  • 문제 자체는 정말 쉽지만, 복습하다가 신기한 파이썬 문법을 봐서 기록을 위해 작성한다.
  • for-else문을 사용하면 break 등으로 for문이 끊기지 않았을 때 else 구문을 수행한다.
  • 파이썬은 정말 신기한 언어이다...
반응형