[회고] 신입 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 구문을 수행한다.
  • 파이썬은 정말 신기한 언어이다...