main
[백준-2108번/Java] 통계학 본문
* 빈도값을 저장하기 위해서 HashMap 사용
* 반올림 Math.round
import java.io.*;
import java.util.*;
import java.util.Map.Entry;
public class Main {
public static void main(String[] args) throws IOException {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
int[] numbers = new int[N];
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
long sum = 0;
int max_freq = 1;
for (int i = 0; i < N; i++) {
int num = scan.nextInt();
int freq;
if (map.containsKey(num)) {
freq = map.get(num) + 1;
} else {
freq = 1;
}
if (max_freq < freq) {
max_freq = freq;
}
numbers[i] = num;
map.put(num, freq);
sum += num;
}
Arrays.sort(numbers);
// 평균값
System.out.println(Math.round((double) sum / N));
// 중위값
System.out.println(numbers[numbers.length / 2]);
List<Integer> freq_key_list = new ArrayList();
for (Entry<Integer, Integer> entry : map.entrySet()) {
if (entry.getValue() == max_freq) {
freq_key_list.add(entry.getKey());
}
}
Collections.sort(freq_key_list);
// 최빈값
if (freq_key_list.size() > 1) {
System.out.println(freq_key_list.get(1));
} else {
System.out.println(freq_key_list.get(0));
}
// 범위
System.out.println(numbers[numbers.length - 1] - numbers[0]);
scan.close();
}
}
728x90
'Algorithm' 카테고리의 다른 글
[백준-1004번/Java] 어린왕자 (0) | 2022.11.12 |
---|---|
[백준-2775번/Java] 부녀회장이 될테야 (0) | 2022.11.12 |
[백준-13458번/Java] 시험 감독 (0) | 2022.11.12 |
[백준-10773번/Java] 제로 (0) | 2022.11.12 |
[백준-1193번/Java] 분수찾기 (0) | 2022.11.11 |
Comments