Bomb Kirby Running
Cat Life - GT-K
2108번 통계학

2023. 4. 3. 09:08BaekJoon

단계별로 풀어보기 - 정렬 - 4단계

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

#include <iostream>
#include <algorithm>
#include <vector>
#include <cmath>
using namespace std;

int N;
vector<int> arr;
int check[8001];

double average()
{
    double sum=0;
    for(int i=0;i<N;i++)
    {
        sum+=arr[i];        
    }
    return round(sum/N);
}

int median()
{
    return arr[N/2];
}

int mode()
{
    int count=0;
    int result=0;
    
    for(int i=0;i<8001;i++)
    {
        if(count<check[i])
        {
            count=check[i];
            result=i;
        }
    }
    
    for(int i=result+1;i<8001;i++)
    {
        if(count==check[i])
        {
            result=i;
            break;
        }
    }
    return result-4000;    
}

int range()
{
    return arr[N-1]-arr[0];
}

int main()
{
    cin>>N;
    for(int i=0;i<N;i++)
    {
        int temp;
        cin>>temp;
        arr.push_back(temp);
        check[temp+ 4000]++;
    }
    
    sort(arr.begin(),arr.end());
    cout<<average()<<"\n";
    cout<<median()<<"\n";
    cout<<mode()<<"\n";
    cout<<range();
    
    return 0;
}

'BaekJoon' 카테고리의 다른 글

11650번 좌표 정렬하기  (0) 2023.04.03
1427번 소트인사이드  (0) 2023.04.03
10989번 수 정렬하기 3  (0) 2023.04.03
2751번 수 정렬하기 2  (0) 2023.04.03
2750번 수 정렬하기  (0) 2023.04.03