#76. [백준_C언어] 2108 : 통계학 \ 정렬

 

입력 코드

#include<stdio.h>
#include<stdlib.h>
#define MIN -4000
#define MAX 4000

int main(void){

    int arr[8001]={0};
    int *result={0};
    int n=0,num=0,sum=0;
    int i=0,j=0,k=0;
    int max=1,index=0,count=0;
    
    scanf("%d", &n);
    result=(int*)malloc(sizeof(int)*n);

 for(i=0;i<n;i++){
     scanf("%d", &num);
     arr[num+4000]++;
     sum+=num; 
}

 for(i=MIN;i<=MAX;i++){
     for(j=0;j<arr[i+4000];j++){
         result[k]=i;
         k++; // 카운팅 정렬 후 result 배열에 저장
     }
}

//평균값 
printf("%1.lf\n", (double)sum/n);

//중앙값
printf("%d\n", result[(n-1)/2]);

//최빈값
for(i=MIN;i<=MAX;i++){
  if(arr[i+4000]>=max) 
  max=arr[i+4000];
  }

 for(i=MIN;i<=MAX;i++){

  if(arr[i+4000]>=max) {
  max=arr[i+4000];
  index=i;
  count++;
  }

  if(count==2) 
  break;
}

printf("%d\n",index);

//범위
printf("%d", result[n-1]-result[0]);
}

 

코드 설명

#구현 #정렬

 

 

참고

mjeong9316.tistory.com/172

 

[C 언어] 백준 2108. 통계학

2108. 통계학 (누르면 해당 문제로 이동) 정렬을 활용하는 문제 제약사항) 시간 : 2 초 메모리 : 256 MB 문제) 수를 처리하는 것은 통계학에서 상당히 중요한 일이다. 통계학에서 N개의 수를 대표하는

mjeong9316.tistory.com

m.blog.naver.com/royal2030/221644098512

 

★ 백준 온라인 저지 2108번 : 통계학 / C

https://www.acmicpc.net/problem/2108거짓말 안하고 한 4시간 이상동안 푼 문제..생각보다 쉬워보였는데 ...

blog.naver.com

m.blog.naver.com/hm104284/221840608551

 

백준 2108번 :: 통계학

[문제]수를 처리하는 것은 통계학에서 상당히 중요한 일이다. 통계학에서 N개의 수를 대표하는 기본 통계...

blog.naver.com

 

 

문제 출처

www.acmicpc.net/problem/2108

 

2108번: 통계학

첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다.

www.acmicpc.net