https://school.programmers.co.kr/learn/courses/30/lessons/42839
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
아이디어
가능한 모든 조합을 구하고, 소수인지 판별하도록 구현하였다!
전체 코드
def solution(numbers):
def helper(prefix, lefts):
yield prefix
if not lefts: return
for idx, l in enumerate(lefts):
yield from helper(prefix + [l], lefts[:idx]+lefts[idx+1:])
numbers = [ x for x in numbers ]
numbers = [ int("".join(x)) for x in list(helper([], numbers)) if x ]
numbers = set(numbers)
def isPrime(num):
if num == 0 or num == 1: return False
for n in range(2, num):
if num % n == 0: return False
return True
answer = 0
for num in numbers:
if isPrime(num): answer += 1
return answer
'Coding Test > Python' 카테고리의 다른 글
[LeetCode] 322. Coin Change (medium, python) (0) | 2024.01.23 |
---|---|
[프로그래머스] 카펫 (level2, python) (1) | 2024.01.23 |
[프로그래머스] 여행경로 (level3, python) (0) | 2024.01.22 |
[프로그래머스] 아이템 줍기 (level3, python) (0) | 2024.01.18 |
[프로그래머스] 단어 변환 (level3, python) (0) | 2024.01.18 |