👩‍💻 코테 공부/코테 공부

[코테 - py] 소수 찾기

수댕ʕت̫͡ʔ 2024. 8. 11. 18:00

https://school.programmers.co.kr/learn/courses/30/lessons/42839?language=python3

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

완전탐색 문제였다.

 

소수를 판별하는 함수를 구현하는 것이 핵심이었다고 생각한다.

from itertools import permutations
def final(num):
    for i in range(2, num):
        if num % i == 0:
            # 소수가 아니다.
            return False
    # 소수다
    return True
def solution(numbers):
     
    answer = set()
    data = list(numbers.rstrip(""))
    for k in range(1, len(numbers)+1):
        combo = list(permutations(data, k))
        for m in range(len(combo)):
            temp = int(''.join(map(str, combo[m])))
            if temp != 1 and temp != 0:
                if final(temp):
        
                    answer.add(temp)
    return len(answer)