---
layout: post
title:  " [Programmers] 14406. 소수의 합 "
categories: Algorithm
tags: Programmers
author: goodGid
---
* content
{:toc}

## Problem 
Problem URL : **[소수의 합](https://programmers.co.kr/learn/courses/30/lessons/14406)**








---

## [1] Answer Code (18. 09. 26)

``` cpp
#include <vector>
using namespace std;
vector<int> v;
void primeNumber(int n){
    vector<long long> chk(n+1, 0);
    
    for(long long i=2; i<=n; i++){
        if(chk[i] == 1) continue;
       
        chk[i] = 1;
        v.push_back(i);
        
        for(long long j=i*2; j<=n; j+=i){
            chk[j] = 1;
        }
    }
}

long long solution(int N) {
    long long answer = 0;
    primeNumber(N);
    for(int i=0; i<v.size(); i++){
        answer += v[i];
    }
    return answer;
}
```


### Review

* n의 범위가 2이상 10,000,000이하 이다.

* 그래서 배열로 arr[10000001]로 선언하면 안된다.

* 그 대신 동적으로 사이즈를 잡아주는 vector<long long> chk(n+1, 0); 식으로 선언을 하여서 해결했다.

Write PGM Post " 14406. 소수의 합"
Write PGM Post " 14406. 소수의 합"
