Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 파이썬
- Data Structure
- Stack
- string
- 코딩테스트
- Binary Tree
- greedy
- hash table
- Number Theory
- two pointers
- simulation
- Matrix
- Class
- 코테
- array
- sorting
- Method
- geometry
- database
- implement
- SQL
- bit manipulation
- Binary Search
- Counting
- 자바
- Tree
- Math
- java
- dynamic programming
- 구현
Archives
- Today
- Total
코린이의 소소한 공부노트
[백준 온라인 저지] 2108. 통계학 본문
산술평균 : N개의 수들의 합을 N으로 나눈 값
중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값
최빈값 : N개의 수들 중 가장 많이 나타나는 값
범위 : N개의 수들 중 최댓값과 최솟값의 차이
1. 입력
- 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다.
- 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다.
2. 출력
- 첫째 줄에는 산술평균을 출력한다. 소수점 이하 첫째 자리에서 반올림한 값을 출력한다.
- 둘째 줄에는 중앙값을 출력한다.
- 셋째 줄에는 최빈값을 출력한다. 여러 개 있을 때에는 최빈값 중 두 번째로 작은 값을 출력한다.
- 넷째 줄에는 범위를 출력한다.
3. 예제
4. 코드
import java.util.*;
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.valueOf(br.readLine());
int[] nums = new int[n];
double sum = 0;
HashMap<Integer, Integer> m = new HashMap<>();
int maxcount = 0;
for(int i=0 ; i<n ; i++) {
nums[i] = Integer.valueOf(br.readLine());
sum += nums[i];
m.put(nums[i], m.getOrDefault(nums[i],0)+1);
if(m.get(nums[i])>maxcount) maxcount = m.get(nums[i]);
}
bw.write((int)Math.round(sum/n)+"\n"); // 산술평균
Arrays.sort(nums);
bw.write(nums[n/2]+"\n"); // 중앙값
List<Integer> freq = new ArrayList<>();
for(int i : m.keySet())
if(m.get(i)==maxcount) freq.add(i);
freq.sort(Comparator.naturalOrder());
if(freq.size()==1) bw.write(freq.get(0)+"\n"); // 최빈값
else bw.write(freq.get(1)+"\n");
bw.write((nums[n-1]-nums[0])+"\n"); // 범위
bw.flush(); bw.close();
}
}
- 76488KB, 756ms
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[백준 온라인 저지] 2741. N 찍기 (0) | 2023.06.22 |
---|---|
[백준 온라인 저지] 10718. We love kriii (0) | 2023.06.22 |
[백준 온라인 저지] 17103. 골드바흐 파티션 (0) | 2023.06.22 |
[백준 온라인 저지] 1018. 체스판 다시 칠하기 (0) | 2023.06.22 |
[LeetCode/Easy] 2231. Largest Number After Digit Swaps by Parity (0) | 2023.06.21 |