leetcode(리트코드)5월10일 challenge204-Count Primes
 leetcode(리트코드)5월10일 challenge204-Count Primes 
 leetcode May 10일 - Count Primes 문제입니다.
1. 문제
https://leetcode.com/problems/count-primes/
2. Input , Output
3. 분류 및 난이도
Medium 난이도입니다.
 5월 10일자 챌린지 문제입니다.
4. 문제 해석
- n으로 들어온 자연수값의 약수 개수를 구해서 리턴합니다.
5. code
에라토스테네스의 체를 이용하면 쉽게 풀 수 있습니다.
c++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Solution {
public:
    int countPrimes(int n) {
        //에라토스테네스의 체
        if(n==0 || n==1)
            return 0;
        int* dp = new int[n+1];
        int res = 0;
        dp[0] = 0;
        dp[1] =0;
        
        for(int i = 2 ; i< n+1;++i)
            dp[i] = i;
        
        for(int i = 2; i<sqrt(n+1); ++i){
            if(dp[i] == 0) continue;
            for(int j = i*2 ; j<n+1 ; j +=i)
                dp[j]=0;
        }
        for(int i = 2;i<n;++i)
                if(dp[i]!=0) ++res;
        return res;
    }
};
6. 결과 및 후기, 개선점
 This post is licensed under  CC BY 4.0  by the author.