개발에 AtoZ까지

[JAVA][D1] 2063. 중간값 찾기 본문

코딩테스트 준비/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();
		}
	}

}

 

반응형
Comments