[java] 중간 값 찾기 알고리즘
배열이 주어졌을 때, 중간 값(median)을 찾는 알고리즘을 구현해보겠습니다.
알고리즘 설명
- 입력으로 주어진 배열을 오름차순으로 정렬합니다.
- 배열의 크기가 홀수인 경우, 중간 인덱스의 값을 반환합니다.
- 배열의 크기가 짝수인 경우, 중간 인덱스의 값과 중간 인덱스 - 1의 값을 더한 후 2로 나눕니다. 그 결과를 반환합니다.
예시 코드
import java.util.Arrays;
public class MedianAlgorithm {
public static int findMedian(int[] arr) {
Arrays.sort(arr);
int length = arr.length;
if (length % 2 == 0) {
return (arr[length / 2] + arr[length / 2 - 1]) / 2;
} else {
return arr[length / 2];
}
}
public static void main(String[] args) {
int[] arr = {5, 3, 8, 2, 9, 1, 7, 4, 6};
int median = findMedian(arr);
System.out.println("중간 값: " + median);
}
}
실행 결과
중간 값: 5