[BaekJoon] #2587 대표값2

현굥·2024년 8월 24일

BaekJoon

목록 보기
16/53


요새 바빠서 자꾸 쉬운문제만 풀게된다 양심상 쉬운문제는 두개씩 푸는중.. 바쁜거 끝나면 어려운거 (라고해봤자 실버..) 풀어야지

문제이해

다섯개의 정수를 입력받아 평균과 중앙값을 출력하는 문제입니다.

입력

첫째 줄부터 다섯 번째 줄까지 한 줄에 하나씩 자연수가 주어진다. 주어지는 자연수는 100 보다 작은 10의 배수이다.

출력

첫째 줄에는 평균을 출력하고, 둘째 줄에는 중앙값을 출력한다. 평균과 중앙값은 모두 자연수이다.

문제접근

입력을 위해 BufferedReader를 사용하였습니다.
결과값 출력을 위해 StringBuilder를 사용하였습니다.
배열을 선언해주어 반복문을 통해 입력값을 넣어주고, sort()를 이용하여 배열 내부의 값을 정렬 한 이후, stream()과 sum()를 이용하여 배열의 전체합을 구해주었습니다.
이때, 위에서 배열을 정렬해주었으므로, arr[2] 가 중앙값이 됩니다.

code

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

public class Main{
   public static void main(String[] args) throws IOException{
   
       BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
       int arr[] = new int[5];
       StringBuilder sb = new StringBuilder();
       
       for(int i=0; i<5; i++) {
           arr[i] = Integer.parseInt(br.readLine());
       }
       
       Arrays.sort(arr);
       int sum = Arrays.stream(arr).sum();
       int avg = sum / 5;
       int medium = arr[2];
       
       sb.append(avg).append("\n").append(medium).append("\n");
       System.out.println(sb);
   }

}

실행결과

0개의 댓글