"BOJ 2108 통계학"의 두 판 사이의 차이

15번째 줄: 15번째 줄:
int arr[] = new int[size];
int arr[] = new int[size];
int counts[] = new int[8001];
int counts[] = new int[8001];
int n, sum=0, min=4000, max=-4000;
int n, sum=0, min=4000, max=-4000, max_count=0;
for(int i=0; i<size; i++) {
for(int i=0; i<size; i++) {
n = Integer.parseInt(br.readLine());
n = Integer.parseInt(br.readLine());
arr[i] = n;
arr[i] = n;
sum += n;
sum += n;
counts[4000+n]++;
if( n>max ) max=n;
if( n>max ) max=n;
if( n<min ) min=n;
if( n<min ) min=n;
}
counts[4000+n]++;
int max_count = 0;
for(int i=min; i<=max; i++) {
if( counts[4000+i]>max_count ) max_count = counts[4000+i];
if( counts[4000+i]>max_count ) max_count = counts[4000+i];
}
}
int max_item_count = 0;
int max_count_items = 0;
for(int i=min; i<=max; i++) {
for(int i=min; i<=max; i++) {
if( counts[4000+i]==max_count ) max_item_count++;
if( counts[4000+i]==max_count ) max_count_items++;
}
}
int target_count = 0;
int target_count = 0;
int freq = 0;
int freq = 0;
for(int i=min; i<=max; i++) {
for(int i=min; i<=max; i++) {
if( counts[4000+i]==max_count ) {
if( counts[4000+i]!=max_count ) continue;
target_count++;
target_count++;
if( target_count == max_item_count || target_count == 2 ) {
if( target_count == max_count_items || target_count == 2 ) {
freq = i;
freq = i; break;
break;
}
}
}
}
}

2018년 7월 17일 (화) 20:10 판

1 개요

BOJ 2108 통계학

[[분류:BOJ {{{단계}}}단계]]


2 Java

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Main {
	public static void main(String args[]) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int size = Integer.parseInt(br.readLine());
		int arr[] = new int[size];
		int counts[] = new int[8001];
		int n, sum=0, min=4000, max=-4000, max_count=0;
		for(int i=0; i<size; i++) {
			n = Integer.parseInt(br.readLine());
			arr[i] = n;
			sum += n;
			if( n>max ) max=n;
			if( n<min ) min=n;
			counts[4000+n]++;
			if( counts[4000+i]>max_count ) max_count = counts[4000+i];
		}
		int max_count_items = 0;
		for(int i=min; i<=max; i++) {
			if( counts[4000+i]==max_count ) max_count_items++;
		}
		int target_count = 0;
		int freq = 0;
		for(int i=min; i<=max; i++) {
			if( counts[4000+i]!=max_count ) continue;
			target_count++;
			if( target_count == max_count_items || target_count == 2 ) {
				freq = i; break;
			}
		}
		Arrays.sort(arr);
		System.out.println( Math.round(1.0D*sum/size) );
		System.out.println( arr[size/2] );
		System.out.println( freq );
		System.out.println( max-min );   
	}
}
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}