[java] 정렬 알고리즘을 이용한 중앙값, 최빈값, 중간값 등 특정 값을 계산하는 방법

정렬 알고리즘을 이용하여 중앙값, 최빈값, 중간값 등을 계산하는 과정은 간단하면서도 유용합니다. 다음은 이를 수행하는 자바 코드의 예시입니다.

1. 중앙값(Median) 계산

import java.util.Arrays;

public class MedianCalculator {
    public static double calculateMedian(int[] array) {
        Arrays.sort(array);
        int length = array.length;
        if (length % 2 == 0) {
            return (array[length / 2 - 1] + array[length / 2]) / 2.0;
        } else {
            return array[length / 2];
        }
    }
}

2. 최빈값(Mode) 계산

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

public class ModeCalculator {
    public static int calculateMode(int[] array) {
        Map<Integer, Integer> frequencyMap = new HashMap<>();
        for (int num : array) {
            frequencyMap.put(num, frequencyMap.getOrDefault(num, 0) + 1);
        }
        int maxFrequency = 0;
        int mode = 0;
        for (Map.Entry<Integer, Integer> entry : frequencyMap.entrySet()) {
            int frequency = entry.getValue();
            if (frequency > maxFrequency) {
                maxFrequency = frequency;
                mode = entry.getKey();
            }
        }
        return mode;
    }
}

3. 중간값(Midrange) 계산

import java.util.Arrays;

public class MidrangeCalculator {
    public static double calculateMidrange(int[] array) {
        Arrays.sort(array);
        return (array[0] + array[array.length - 1]) / 2.0;
    }
}

이와 같은 방법으로 정렬 알고리즘을 활용하여 중앙값, 최빈값, 중간값 등을 계산할 수 있습니다.

위 예시 코드는 기본적인 경우를 다루었으니 상황에 따라 코드를 수정하여 활용할 수 있습니다.

참고 자료

위 코드는 예시로 작성된 것이며, 적절한 예외 처리와 유효성 검증을 포함시켜 실제 환경에서 사용할 수 있도록 보강해야 합니다.