기록을 합시다.
[프로그래머스] 소수 찾기(python) 본문
문제 요약
입을 수 있는 총 옷가지 수 (다 벗는 건 안됨ㅋ)
내가 생각한 로직
- 모든 경우의 수들을 구해준다.
- 구한 수들의 최대값을 구한다.
- 최대값까지의 소수들을 구한다.
- 소수들이 내가 구한 경우의 수들에 포함되는지 확인한다.
파이썬으로 제출한 정답
import collections
import itertools
def solution(numbers):
numbers_list = list(numbers);
number_combis=[]
for i in range(1, len(numbers_list)+1):
number_combis.extend(itertools.permutations(numbers_list, i))
max_num = 0
number_combi_list = []
for combi in set(number_combis):
num = int(''.join(combi))
if(num > max_num):
max_num = num
number_combi_list.append(num)
#중복 제거
number_combi_set = set(number_combi_list)
#최대값 구해서 최대값까지의 소수를 담은 리스트들을 담아줘야 한다.
is_prime = [0 for i in range(0, max_num+1)]
answer = 0
for i in range(2, max_num+1):
if is_prime[i] == 0:
if i in number_combi_list:
answer += 1
for j in range(i, len(is_prime), i):
is_prime[j] = 1;
else:
continue
return answer
'공부 > 알고리즘' 카테고리의 다른 글
[프로그래머스] 의상(python/java) (0) | 2023.06.26 |
---|---|
[프로그래머스] 네트워크(python/java) (0) | 2023.06.22 |
[프로그래머스] 기능개발(python/java) (0) | 2023.06.22 |
[프로그래머스] 전화번호 목록(python/java) (0) | 2023.06.22 |
[프로그래머스] 타겟 넘버(python/java) (0) | 2023.06.12 |
Comments