입력 코드
#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]);
}
코드 설명
#구현 #정렬
참고
[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
문제 출처
2108번: 통계학
첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다.
www.acmicpc.net
'C' 카테고리의 다른 글
#78. [백준_C언어] 2220 : 힙 정렬 \ 정렬 (0) | 2021.02.15 |
---|---|
#77. [백준_C언어] 11004 : K번째 수 \ 정렬 (0) | 2021.02.13 |
#75. [백준_C언어] 11653 : 소인수분해 \ 수학 (0) | 2021.02.12 |
#74. [백준_C언어] 4948 : 베르트랑 공준 \ 수학 (0) | 2021.02.12 |
#73. [백준_C언어] 12971 : 숫자 놀이 \ 수학 (0) | 2021.02.11 |