쌓고 쌓다

[프로그래머스] 소수 찾기 C++ 풀이 본문

알고리즘/프로그래머스

[프로그래머스] 소수 찾기 C++ 풀이

승민아 2022. 7. 11. 22:57

https://school.programmers.co.kr/learn/courses/30/lessons/12921?language=cpp 

 

프로그래머스

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

programmers.co.kr

전체 코드

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

bool visit[1000001];
int solution(int n) {
    int answer = 0;
    
    fill(visit,visit+1000001,false);
    
    for(int i=2;i<=n;i++)
    {
        if(visit[i]==true)
            continue;
        
        for(int j=i*2;j<=n;j+=i)
            visit[j]=true;
    }
    
    for(int i=2;i<=n;i++)
    {
        if(visit[i]==false)
            answer++;
    }
    
    return answer;
}

에라토스테네스의 체 알고리즘을 사용해서 풀어야하는 문제이다.

이 알고리즘에 대해 정리 한번 해봐야겠다.

Comments