fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. static int index; //배열 인덱스 값
  11.  
  12. //배열 인덱스 찾기
  13. public static void arrayIndex(int n) {
  14. if(n > 0) index = n + 4000; //입력된 값이 양수라면
  15. else if(n < 0) index = n * -1; //음수라면
  16. else index = 0; //0이라면
  17. }
  18.  
  19. public static void main (String[] args) throws java.lang.Exception
  20. {
  21. // your code goes here
  22. Scanner sc = new Scanner(System.in);
  23. int n = sc.nextInt(); //수의 총 갯수
  24. int sum = 0; //입력된 수들의 합
  25. int big = 0; //최대 빈도 수
  26. int[] arr = new int[n]; //수
  27. int[] count = new int[8002]; //카운팅 정렬
  28.  
  29. for(int i = 0; i < n; i++) { //수 입력
  30. arr[i] = sc.nextInt();
  31. arrayIndex(arr[i]);
  32. count[index]++;
  33. big = big > count[index] ? big : count[index]; //최대 빈도수 확인
  34. sum += arr[i];
  35. }
  36.  
  37. Arrays.sort(arr);
  38. int cnt = 0; //두 번째로 작은 값 확인용 변수
  39. int num = 4001; //최빈값
  40. for(int i = 0; i < n; i++) {
  41. arrayIndex(arr[i]);
  42. if(count[index] == big && num != arr[i]) { //최대 빈도수이면서 중복되지 않은 값이라면
  43. num = arr[i];
  44. cnt++;
  45. }
  46. else continue;
  47. if(cnt == 2) break;
  48. }
  49.  
  50. System.out.println(Math.round((double)sum / n));
  51. System.out.println(arr[n / 2]);
  52. System.out.println(num);
  53. System.out.println(arr[n - 1] - arr[0]);
  54. sc.close();
  55. }
  56. }
Success #stdin #stdout 0.14s 51480KB
stdin
5
1
3
8
-2
2
stdout
2
2
1
10