728x90
기본 아이디어
- 조합?은 아니고 순열
- 순열/조합 라이브러리 써야지
- 맨 처음 숫자가 0인 케이스 주의해야지
from itertools import permutations
def check_prime(n):
if n < 2:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
def solution(numbers):
nums = set()
n_list = list(numbers)
for i in range(1, len(n_list)+1):
for p in permutations(n_list, i):
n = int(''.join(list(p)))
if check_prime(n):
nums.add(n)
return len(nums)
- 소수: 1과 자기 자신만을 약수로 가지는 1보다 큰 자연수
- 소수판별 함수를 따로 두는 것이 좋다
n = int(''.join(list(p)))
리스트형태의 숫자들을 하나의 값으로 합쳐내기 위해 이렇게 했다.
728x90
'Programming > Python' 카테고리의 다른 글
[프로그래머스] 기능개발 (0) | 2025.04.08 |
---|---|
[프로그래머스] 조이스틱 (0) | 2025.04.08 |
[백준] 2606 | 바이러스 (0) | 2025.04.07 |
[프로그래머스] 게임 맵 최단거리 (0) | 2025.04.07 |
[프로그래머스] 더 맵게 (0) | 2025.04.02 |