백준에 나와있는 2587번 대표값2 문제입니다. 브론즈 II 등급의 문제이며 정렬로 분류되어 있는 문제입니다. 아래는 문제와 해답 코드입니다. 

목차

     

     


     

    백준 2587번 문제

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

     

    2587번: 대표값2

    어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 +

    www.acmicpc.net

     


    해결 전략

    벡터(Vector)나 정렬(Array)를 생성한다.

    평균 구하기 = 해당 값을 모두 더한 후 전체 값의 수(여기서는 5)로 나눠준다.

    중앙값 구하기 = 벡터(또는 정렬)의 중앙값을 출력한다. v[2]


     

    코드

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    #include <iostream>
    #include <vector>
    #include <algorithm>
    #include <numeric>
    using namespace std;
     
    vector<int> v;
     
    int main()
    {
        for (int i = 0; i < 5; i++)
        {
            int N;
            cin >> N;
            v.push_back(N);
        }
     
        sort(v.begin(), v.end());
     
        cout << (accumulate(v.begin(), v.end(), 0)) / v.size() << endl;;
        cout << v[2];
     
        return 0;
    }
    cs

     

    sort(v.begin(), v.end());

    벡터의 sort함수를 사용하려면 #include <algorithm>이 필요하다.

     

    accumulate(v.begin(), v.end(), 0)

    벡터의 accumulate함수를 사용하려면 #include<numeric>이 필요하다.

     


     

     

    '⭐ 코딩테스트' 카테고리의 다른 글

    [백준 25501] 재귀의 귀재  (0) 2022.11.09
    [백준 10817 C++] 세 수  (0) 2022.11.08
    [백준 2738] 행렬 덧셈  (0) 2022.11.07
    [백준 2750] 정렬  (0) 2022.11.03
    [백준 1978] 소수 찾기  (0) 2022.07.23