코딩테스트 준비/SWEA
[JAVA][D1] 2063. 중간값 찾기
AtoZ 개발자
2021. 1. 3. 16:44
반응형
문제
중간값은 통계 집단의 수치를 크기 순으로 배열 했을 때 전체의 중앙에 위치하는 수치를 뜻한다.
입력으로 N 개의 점수가 주어졌을 때, 중간값을 출력하라.
[예제]
N이 9 이고, 9개의 점수가 아래와 같이 주어질 경우,
85 72 38 80 69 65 68 96 22
69이 중간값이 된다.
[제약 사항]
1. N은 항상 홀수로 주어진다.
2. N은 9이상 199 이하의 정수이다. (9 ≤ N ≤ 199)
[입력]
입력은 첫 줄에 N 이 주어진다.
둘째 줄에 N 개의 점수가 주어진다.
[출력]
N 개의 점수들 중, 중간값에 해당하는 점수를 정답으로 출력한다.
예시
풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Solution {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
int N = Integer.parseInt(br.readLine());
String[] str = br.readLine().split(" ");
int[] nums=new int[str.length];
for(int i=0;i<str.length;i++) {
nums[i]=Integer.parseInt(str[i]);
}
//숫자값에 대해 정렬
Arrays.sort(nums);
//전체크기 N에서 /2를 하여 중간값 확인(단,배열의 인덱스는 0부터 시작하기에 가능)
System.out.println(nums[N/2]);
} catch (Exception e) {
e.printStackTrace();
}
}
}
반응형