01-31 00:40
Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
관리 메뉴

기록을 합시다.

[프로그래머스] 소수 찾기(python) 본문

공부/알고리즘

[프로그래머스] 소수 찾기(python)

울집고양이세마리 2023. 6. 26. 16:55

문제 요약

입을 수 있는 총 옷가지 수 (다 벗는 건 안됨ㅋ)

내가 생각한 로직

  • 모든 경우의 수들을 구해준다.
  • 구한 수들의 최대값을 구한다.
  • 최대값까지의 소수들을 구한다.
  • 소수들이 내가 구한 경우의 수들에 포함되는지 확인한다. 

파이썬으로 제출한 정답

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

 

 

Comments