프로그래밍/Algorithm
MedianofTwoSortedArrays
kkwonsy
2020. 4. 21. 11:22
https://leetcode.com/problems/median-of-two-sorted-arrays/
Median은 중앙값이라고 표현한다
Average(or mean) 평균값과는 다르다
평균값은 극단적인 값에 영향을 받는다
예를 들어 100가구인 한 마을의 1가구당 연간 소득이 5천만원이라고 하자.
단 1가구가 연간 30억원의 소득을 올린다면 나머지 99가구는 2천만원 정도의 소득밖에 되지 않는다.
즉, 평균이라는 것은 표본들이 균일한 경우가 아니라면 원하는 결과를 얻기 어렵다.
따라서 이런 성질이 다른 표본들(=outlier)을 제거한 후 다시 계산하는 방법들이 많이 사용된다.
중앙값은 홀수 일때 가운데 값을,
짝수 일때는 가운데 두 값의 산순평균 값을 가진다.
public double findMedianSortedArrays(int[] nums1, int[] nums2) {
int[] ints = IntStream.concat(Arrays.stream(nums1), Arrays.stream(nums2)).sorted().toArray();
int middleIndex = ints.length / 2;
if (ints.length % 2 == 0) {
return ((double)ints[middleIndex] + (double)ints[middleIndex-1]) / 2;
} else {
return ints[middleIndex];
}
}
다른 수치로는 최빈값(mode)라는게 있다.
빈도를 기준으로 계산한다 .
그 외에도 집단의 특성을 나타낼 수 있는 수치로 분산(variance), 표준 편차(standard deviation), 표준 오차(standard error), 범위(range), 사분위수(quartile) 등등이 있다.