結果

問題 No.275 中央値を求めよ
ユーザー GB
提出日時 2018-04-08 16:08:11
言語 Java
(openjdk 23)
結果
AC  
実行時間 178 ms / 1,000 ms
コード長 940 bytes
コンパイル時間 1,957 ms
コンパイル使用メモリ 77,968 KB
実行使用メモリ 43,036 KB
最終ジャッジ日時 2024-06-25 01:12:36
合計ジャッジ時間 9,091 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 38
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.io.*;
import java.util.*;

class Main{
  public static void main(String[] args)throws IOException {

    //nの入力,配列arrayの入力
    Scanner scan=new Scanner(System.in);
    int n=Integer.parseInt(scan.next());
    int[] array=new int[n];
    for(int i=0;i<array.length;i++){
      array[i]=Integer.parseInt(scan.next());
    }
    float median=0;
    //ソート
    for(int i=0;i<array.length-1;i++){
      for(int j=array.length-1;j>i;j--){
        if(array[j]<array[j-1]){
          int tmp=array[j];
          array[j]=array[j-1];
          array[j-1]=tmp;
        }
      }
    }

    //nが偶数であればn/2と(n/2)-1の配列の値の平均を取る.nが奇数であればn-1/2番目の値を選ぶ
    if(n%2==0){
      median=(float)(array[n/2]+array[n/2-1])/2;
      System.out.println(String.format("%.1f",median));
    }else{
      median=array[(n-1)/2];
      System.out.println(median);
    }
  }
}
0