์ƒ์„ธ ์ปจํ…์ธ 

๋ณธ๋ฌธ ์ œ๋ชฉ

[Softeer] ์„ฑ์ ํ‰๊ท  (C++)

PROGRAMMING/Algorithm

by koharin 2024. 2. 15. 15:38

๋ณธ๋ฌธ

728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“ ์ œ์ถœ ์ฝ”๋“œ #1

#include<iostream>
#include<vector>

using namespace std;

int main(int argc, char** argv)
{
    int N, K; // N: ํ•™์ƒ ์ˆ˜, K: ๊ตฌ๊ฐ„ ์ˆ˜
    vector<float> arr;

    cin >> N >> K;
    
    arr.push_back(0);
    
    for(int i=0; i<N; i++){
        float num;
        cin >> num;
        arr.push_back(num);
    }

    for(int i=0; i<K; i++){
        int A,B;

        cin >> A >> B;
        float sum=0;
        for(int j=A; j<=B; j++){
            sum += arr[j];
        }
        printf("%.2f\n", sum/(B-A+1));
        
    }
    
    return 0;
}

 

"์ฐจ์ด๊ฐ€ 0.01์ดํ•˜์ด๋ฉด ์ •๋‹ต์œผ๋กœ ์ฑ„์ ๋จ"์ด๋ผ๊ณ  ํ•ด์„œ ๊ทธ๋ƒฅ ๋‚˜๋ˆ—์…ˆ์œผ๋กœ ๊ณ„์‚ฐํ•˜๊ณ , ์†Œ์ˆ˜์  ๋‘˜์งธ์ž๋ฆฌ๊นŒ์ง€ ์ถœ๋ ฅ๋˜๋„๋ก ํ•จ

 

 

๐Ÿ“ ์ œ์ถœ ์ฝ”๋“œ #2

#include<iostream>
#include<vector>

using namespace std;
int main(int argc, char** argv)
{
    int N, K; // N: ํ•™์ƒ ์ˆ˜, K: ๊ตฌ๊ฐ„ ์ˆ˜
    vector<float> sum;

    cin >> N >> K;
    
    sum.push_back(0);
    
    for(int i=0; i<N; i++){
        float num;
        cin >> num;
        sum.push_back(sum[i]+num);
    }

    for(int i=0; i<K; i++){
        int A,B;

        cin >> A >> B;
        
        printf("%.2f\n", (sum[B]-sum[A-1])/(B-A+1));
        
    }
    
    return 0;
}

๊ตฌ๊ฐ„ํ•ฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜(๋ˆ„์ ํ•ฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜)์œผ๋กœ ํ’€์ดํ•œ ์ฝ”๋“œ์ด๋‹ค.

๋ฐ˜๋ณต๋ฌธ์„ 1๋ฒˆ๋งŒ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณต์žก๋„๊ฐ€ ๋” ์ค„์—ˆ๋‹ค.

๋ˆ„์ ํ•ฉ ๋„ฃ์„ ๋•Œ sum[i+1] = sum[i]+numํ–ˆ์„ ๋•Œ ํ•ด๋‹น ์˜ˆ์ œ๋กœ๋Š” ํ†ต๊ณผํ•˜๋Š”๋ฐ ์ œ์ถœ ์‹œ ๋‹ค๋ฅธ TC๋“ค์€ ๋Ÿฐํƒ€์ž„์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ด์„œ, push_back ์“ฐ๋Š”๊ฑธ๋กœ ๋ฐ”๊ฟจ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•

๊ด€๋ จ๊ธ€ ๋”๋ณด๊ธฐ