
소스코드:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
static BufferedReader br;
static BufferedWriter bw;
public static void main(String[] args) throws IOException {
br = new BufferedReader(new InputStreamReader(System.in));
bw = new BufferedWriter(new OutputStreamWriter(System.out));
int T = Integer.parseInt(br.readLine());
int[] count = new int[8001];
double sum = 0;
double avg = 0;
int median = 0;
int mode = 0;
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
int range = 0;
for (int i = 0; i < T; i++) {
int input = Integer.parseInt(br.readLine());
count[input + 4000]++;
sum += input;
if (min > input) {
min = input;
}
if (max < input) {
max = input;
}
}
int median_count = 0;
int mode_max = Integer.MIN_VALUE;
boolean mode_find = false;
for (int i = 0; i <= 8000; i++) {
if (count[i] != 0) {
// mode
if (mode_max < count[i]) {
mode_find = true;
mode_max = count[i];
mode = i - 4000;
} else if (mode_max == count[i] && mode_find) {
mode_find = false;
mode = i - 4000;
}
// median
if (median_count <= ((T) / 2)) {
median = i - 4000;
}
median_count += count[i];
}
}
avg = Math.round(sum / T);
range = max - min;
bw.write((int) avg + "\n");
bw.write(median + "\n");
bw.write(mode + "\n");
bw.write(range + "\n");
bw.flush();
bw.close();
}
}
글의 내용 중 잘못된 점이나 수정이 필요한 부분, 혹은 궁금한 사항이 있다면 언제든 댓글로 남겨주시면 감사하겠습니다.
여러분의 피드백은 더 나은 글을 작성하는 데 큰 도움이 됩니다. 감사합니다.
'알고리즘 > 백준' 카테고리의 다른 글
| [JAVA-자바] 17219번: 비밀번호 찾기 (0) | 2025.03.04 |
|---|---|
| [JAVA-자바] 1874번: 스택 수열 (0) | 2025.03.03 |
| [JAVA-자바] 1966번: 프린터 큐 (0) | 2025.03.02 |
| [JAVA-자바] 18110번: solved.ac (0) | 2025.02.28 |
| [JAVA-자바] 11866번: 요세푸스 문제 0 (0) | 2025.02.28 |