[Programmers] 소수 찾기
🎈문제
https://programmers.co.kr/learn/courses/30/lessons/42839
💬설명
- 어려운 문제는 아니었지만 알고리즘 문제에서 자주 나오는 소수찾는 로직을 구현해볼 수 있는 문제였다.
- 과정: 만들 수 있는 모든 순열을 구해서 각각의 숫자가 소수인지 판별
👩💻코드
import math
from itertools import permutations
def is_prime(number):
if number == 0 or number == 1:
return False
for i in range(2, int(math.sqrt(number)) + 1):
if number % i == 0:
return False
return True
def solution(numbers):
answer = 0
numbers = list(numbers)
arr = []
for i in range(len(numbers)):
arr += list(permutations(numbers, i + 1))
per = []
for num in arr:
per.append(int(''.join(list(num))))
per = list(set(per))
for num in per:
if is_prime(num):
answer += 1
return answer
728x90
반응형
'CS > Algorithm 문제' 카테고리의 다른 글
[BaekJoon] 백준 17779번 게리맨더링 2 (0) | 2021.10.14 |
---|---|
[Programmers] 카펫 (0) | 2021.10.14 |
[Programmers] 모의고사 (0) | 2021.10.14 |
[BaekJoon] 백준 21608번 상어 초등학교 (0) | 2021.10.14 |
[Programmers] 가장 큰 수 (0) | 2021.10.13 |