๐Ÿ’  BOJ/Class 2

[BOJ][C++] ๋ฐฑ์ค€ 1978๋ฒˆ: ์†Œ์ˆ˜ ์ฐพ๊ธฐ

์„ ๋‹ฌ 2023. 2. 23. 22:44
๋ฐ˜์‘ํ˜•

https://www.acmicpc.net/problem/1978

 

1978๋ฒˆ: ์†Œ์ˆ˜ ์ฐพ๊ธฐ

์ฒซ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 100์ดํ•˜์ด๋‹ค. ๋‹ค์Œ์œผ๋กœ N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋Š”๋ฐ ์ˆ˜๋Š” 1,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค.

www.acmicpc.net

 

๋ฌธ์ œ

์ฃผ์–ด์ง„ ์ˆ˜ N๊ฐœ ์ค‘์—์„œ ์†Œ์ˆ˜๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€ ์ฐพ์•„์„œ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 100์ดํ•˜์ด๋‹ค. ๋‹ค์Œ์œผ๋กœ N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋Š”๋ฐ ์ˆ˜๋Š” 1,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค.

์ถœ๋ ฅ

์ฃผ์–ด์ง„ ์ˆ˜๋“ค ์ค‘ ์†Œ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

ํ’€์ด

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    
    // ์•„๋ฆฌํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด
    vector<bool> isPrime(1001, true);
    isPrime[1] = false;
    for(int i=2; i<1001; i++) {
        if(!isPrime[i])
            continue;
        for(int j=i*i; j<1001; j+=i)
            isPrime[j] = false;
    }
    
    // ์ž…๋ ฅ
    int n;
    cin >> n;
    vector<int> input(n);
    for(int i=0; i<n; i++)
        cin >> input[i];
    
    // ์—ฐ์‚ฐ
    int ans = 0;
    for(int i=0; i<n; i++) {
        if(isPrime[input[i]])
            ans++;
    }
    
    // ์ถœ๋ ฅ
    cout << ans;
    
    return 0;
}
๋ฐ˜์‘ํ˜•