๐Ÿ“ฆ Chango/๐Ÿซ First Solve at School

[BOJ B2][C++] ๋ฐฑ์ค€ 1773๋ฒˆ: ํญ์ฃฝ์‡ผ

์„ ๋‹ฌ 2022. 12. 11. 14:56
๋ฐ˜์‘ํ˜•

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

 

1773๋ฒˆ: ํญ์ฃฝ์‡ผ

2 1 2 1 1 1 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 2 3 4 5 6 7 ์œ„์˜ ๊ทธ๋ฆผ์—์„œ 1,2๊ฐ€ ์“ฐ์—ฌ์žˆ๋Š” 4, 6, 8, 12, 16, 18, 20์ดˆ์— ํญ์ฃฝ์ด ๋ฐค ํ•˜๋Š˜์— ํ„ฐ์ง„๋‹ค. ๋‹จ 12์ดˆ์—๋Š” ๋‘ ํญ์ฃฝ์ด ๋™์‹œ์— ํ•˜๋Š˜์— ํ„ฐ์ง€์ง€๋งŒ ํ•œ

www.acmicpc.net

 

๋ฌธ์ œ

ํ•™์ƒ๋“ค์€ 3์ฃผ๊ฐ€ ์ง€๋‚œ ๊ธฐ๋…์œผ๋กœ ๋งค์ ์—์„œ 1์›” 1์ผ์ด ์ง€๋‚˜ ์‹ธ๊ฒŒ ํŒŒ๋Š” ํญ์ฃฝ์„ ์‚ฌ์„œ ํ„ฐ๋œจ๋ฆฌ๊ณ  ์žˆ๋‹ค.

ํญ์ฃฝ์‡ผ๋ฅผ ํ•˜๋Š” ๋™์•ˆ N๋ช…์˜ ํ•™์ƒ๋“ค์ด ํญ์ฃฝ์„ ํ„ฐ๋œจ๋ฆฐ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด N๋ช…์˜ ํ•™์ƒ์€ ๊ฐ๊ฐ ์ผ์ •ํ•œ ์ฃผ๊ธฐ๋กœ ํญ์ฃฝ์„ ํ„ฐ๋œจ๋ฆฐ๋‹ค. ๋ฌผ๋ก  ์ด ์ฃผ๊ธฐ๋Š” ํ•™์ƒ๋“ค๋งˆ๋‹ค ๊ฐ™์„ ์ˆ˜๋„, ๋‹ค๋ฅผ ์ˆ˜๋„ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ์ดˆ ๋‹จ์œ„๋กœ ๊ด€์ฐฐ์„ ํ•˜๊ณ , ํญ์ฃฝ ์—ญ์‹œ ์ดˆ ๋‹จ์œ„๋กœ ํ„ฐ์ง„๋‹ค.

ํญ์ฃฝ์‡ผ๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์‹œ๊ฐ„๋™์•ˆ ๋ฐคํ•˜๋Š˜์— ํญ์ฃฝ์ด ํ„ฐ์ง€๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ด ํ•˜๋Š” ์กฐ๊ต๋ฅผ ๋„์™€์ฃผ์ž.

์ž…๋ ฅ

์ฒซ ์ค„์— ํญ์ฃฝ์„ ํ„ฐ๋œจ๋ฆฌ๋Š” ํ•™์ƒ์˜ ์ˆ˜ N(1 ≤ N ≤ 100)๊ณผ ํญ์ฃฝ์‡ผ๊ฐ€ ๋๋‚˜๋Š” ์‹œ๊ฐ„ C(1 ≤ C ≤ 2,000,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ทธ ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” ํ•™์ƒ๋“ค์ด ํญ์ฃฝ์„ ํ„ฐ๋œจ๋ฆฌ๋Š” ์ฃผ๊ธฐ๊ฐ€ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ๊ธฐ๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , C๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค.

์ถœ๋ ฅ

ํญ์ฃฝ์‡ผ๊ฐ€ ์‹œ์ž‘๋˜๊ณ  ๋๋‚  ๋•Œ๊นŒ์ง€ ๋ฐคํ•˜๋Š˜์— ํญ์ฃฝ์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์ด ์‹œ๊ฐ„์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

ํ’€์ด

// Authored by : seondal
// Co-authored by : -

// #include <bits/stdc++.h>
#include <iostream>
#include <vector>

using namespace std;

int solution(int n, int c, vector<int>&period) {
    int ans = 0;
    
    for(int i=1; i<=c; i++) {
        bool fire = false; // i์ดˆ์— ํญ์ฃฝ ํ„ฐ์กŒ๋Š”์ง€ ์—ฌ๋ถ€
        for(int j=0; j<n; j++) {
            // ์ฃผ์–ด์ง„ ์ฃผ๊ธฐ์˜ ๋ฐฐ์ˆ˜์ผ๋•Œ ํญ์ฃฝ์ด ํ„ฐ์ง„๋‹ค.
            if(i%period[j] == 0)
                fire = true;
        }
        if(fire)
            ans++;
    }
    
    return ans;
}

int main() {
    ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);

    int n,c;
    cin >> n >> c;
    vector<int> period(n);
    for(int i=0; i<n; i++)
        cin >> period[i];
    
    cout << solution(n, c, period);
    
    return 0;
}

/*
 */
๋ฐ˜์‘ํ˜•