[HackerRank] Find the Median

아르당·2024년 4월 11일
0

HackerRank

목록 보기
73/109
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Problem

숫자 목록의 중앙은 원래 정렬 후에 가운데 요소이다. 중간값 뒤에는 동일한 수의 요소가 나타난다. 홀수 개의 요소를 가진 숫자 목록이 주어졌을 때, 중앙값을 찾을 수 있나?

Example

arr = [5, 3, 1, 2, 4]

배열을 정렬하면 arr' = [1, 2, 3, 4, 5]이다. 가운데 요소와 중앙값은 3이다.

Function Description

findMedian 함수를 완성해라.
findMedian 함수는 아래와 같은 매개변수를 가지고 있다.

  • int arr[n]: 정렬되지 않은 정수형 배열

Returns

  • int: 배열의 중앙값

Constraints

  • 1 <= n <= 1000001
  • n은 홀수이다.
  • -10000 <= arr[i] <= 10000

Solved

문제에 풀이 방식이 잘 나와 있다. 먼저 주어진 arr을 정렬을 한다.

arr.sort(Comparator.naturalOrder());

그리고 요소의 가운데 인덱스를 구한다.

int middle = arr.size() / 2;

마지막으로 배열의 가운데 요소의 값을 반환한다.

return arr.get(middle);

All Code

public static int findMedian(List<Integer> arr) {

	arr.sort(Comparator.naturalOrder());
	int middle = arr.size() / 2;

	return arr.get(middle);
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글