관리 메뉴

솜씨좋은장씨

[Programmers] 소수 찾기 (Python) 본문

Programming/코딩 1일 1문제

[Programmers] 소수 찾기 (Python)

솜씨좋은장씨 2021. 5. 27. 00:22
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 소수찾기 입니다.

 

코딩테스트 연습 - 소수 찾기

1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상

programmers.co.kr

Solution

def solution(N):
    nums = [True] * (N + 1)
    
    for i in range(2, len(nums) // 2 + 1):
        if nums[i]:
            for j in range(i+i, N + 1, i):
                nums[j] = False
    return len([i for i in range(2, N + 1) if nums[i]])

Solution 풀이

에라토스 테네스의 체 방식으로 문제를 풀어보았습니다.

최종적으로 return하는 값은 소수 목록이 아닌 소수 목록의 길이를 return 하도록 하였습니다.

읽어주셔서 감사합니다.

 

SOMJANG/CODINGTEST_PRACTICE

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments