해결 과정
나의 풀이
import math
import itertools
# 소수 판별 함수
def isPrimeNumber(number):
if number == 1 or number == 0:
return False
for i in range(2, int(math.sqrt(number)) + 1): # n의 제곱근을 정수화 시켜준 후 + 1
if number % i == 0:
return False
return True
# numbers로 만들 수 있는 모든 수 배열로 return 하는 함수
def strToAllNumber(numbers):
numList = []
for i in range(1, len(numbers) + 1): # len == 2이면, 1, 2
result = list(itertools.permutations(
numbers, i)) # [('1', '3'), ('1', '4'), ('2', '1')]
result = map(lambda x: int(''.join(x)), result)
numList += result
numList = list(set(numList)) # 중복 제거
return numList
def solution(numbers):
numList = strToAllNumber(numbers)
count = 0
for value in numList:
if isPrimeNumber(value):
count += 1
return count
다른 풀이
IDEA
'Coding Test > 문제 풀이' 카테고리의 다른 글
[Algorithm] 준비운동 PART 1. 튼튼한 기본기 (1) (0) | 2022.01.10 |
---|---|
[Algorithm] 뱀 (백준 3190) (0) | 2022.01.05 |
[Algorithm] 모의고사 (0) | 2021.12.30 |
[Algorithm] 가장 큰 수 (0) | 2021.12.30 |
[Algorithm] K번째수 (0) | 2021.12.29 |