結果
問題 |
No.275 中央値を求めよ
|
ユーザー |
|
提出日時 | 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 |
ソースコード
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); } } }