본문 바로가기

알고리즘/백준

[백준] 2587 - 대표값2 (JAVA/ 자바)

반응형

2587번 문제

 

Scanner를 이용한 방법

import java.util.Arrays;
import java.util.Scanner;

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

    Scanner sc = new Scanner(System.in);
    int[] listArr = new int[5];
    int sum = 0;
    int avg = 0;

    for(int i=0; i<listArr.length; i++){
        listArr[i] = sc.nextInt();
    }
    Arrays.sort(listArr);
    for(int i=0; i<listArr.length;i++){
        sum += listArr[i];
        avg = sum/listArr.length;
    }
    System.out.println(avg);
    System.out.println(listArr[listArr.length/2]);
    sc.close();
    }
}

 

BufferedReader를 이용한 방법

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

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

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int[] listArr = new int[5];
    int sum = 0;
    int avg = 0;

    for(int i=0; i<listArr.length; i++){
        listArr[i] = Integer.parseInt(br.readLine());
    }
    Arrays.sort(listArr);
    for(int i=0; i<listArr.length;i++){
        sum += listArr[i];
        avg = sum/listArr.length;
    }
    System.out.println(avg);
    System.out.println(listArr[listArr.length/2]);
    br.close();
    }
}

중앙값을 구하는 방법은 (배열의 길이/2)를 해주면 된다.

반응형