SW/알고리즘

C++ : 프로그래머스 : 소수의 합 : 풀이

얇은생각 2019. 5. 26. 12:30
반응형

풀이


#include <vector>
#include <iostream>
using namespace std;

long long solution(int N) {
long long answer = 0;
vector<bool> check(N+1);
for(int i=2;i<=N;i++)
{
if(!check[i]){
answer +=i;
}
for(int j=i;j<=N;j+=i){
check[j] = true;
}
}
return answer;
}

int main (){
long long num;
cin >> num;
cout << solution(num);
return 0;
}


채점

정확성 테스트
테스트 1 통과 (0.01ms, 3.86MB)
테스트 2 통과 (0.02ms, 3.75MB)
테스트 3 통과 (0.03ms, 3.76MB)
테스트 4 통과 (0.00ms, 3.9MB)
테스트 5 통과 (0.01ms, 3.85MB)
테스트 6 통과 (0.00ms, 3.75MB)
테스트 7 통과 (0.01ms, 3.91MB)
테스트 8 통과 (0.01ms, 3.75MB)
효율성 테스트
테스트 1 통과 (13.42ms, 3.89MB)
테스트 2 통과 (75.82ms, 3.8MB)
테스트 3 통과 (205.28ms, 4.56MB)
테스트 4 통과 (125.93ms, 4.25MB)
채점 결과
정확성: 40.0
효율성: 60.0
합계: 100.0 / 100.0


총평

에라토스테네스의 체를 사용해서 효율성 테스트를 통과할 수 있었습니다. 매번 인지는 하고 있지만 막상 다시 구현하려면 또 까먹게 됩니다. 이번 기회에 제대로 인지할 생각입니다.

반응형