문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
숫자 목록의 중앙은 원래 정렬 후에 가운데 요소이다. 중간값 뒤에는 동일한 수의 요소가 나타난다. 홀수 개의 요소를 가진 숫자 목록이 주어졌을 때, 중앙값을 찾을 수 있나?
arr = [5, 3, 1, 2, 4]
배열을 정렬하면 arr' = [1, 2, 3, 4, 5]이다. 가운데 요소와 중앙값은 3이다.
findMedian 함수를 완성해라.
findMedian 함수는 아래와 같은 매개변수를 가지고 있다.
문제에 풀이 방식이 잘 나와 있다. 먼저 주어진 arr을 정렬을 한다.
arr.sort(Comparator.naturalOrder());
그리고 요소의 가운데 인덱스를 구한다.
int middle = arr.size() / 2;
마지막으로 배열의 가운데 요소의 값을 반환한다.
return arr.get(middle);
public static int findMedian(List<Integer> arr) {
arr.sort(Comparator.naturalOrder());
int middle = arr.size() / 2;
return arr.get(middle);
}