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) 등등이 있다.
'프로그래밍 > Algorithm' 카테고리의 다른 글
Longest Palindromic Substring (0) | 2020.04.21 |
---|---|
코딩테스트 > 연습 깊이/너비 우선 탐색(DFS/BFS) > 타겟 넘버 (0) | 2019.04.13 |
Permutation vs Combination & BASEBALL GAME (0) | 2019.04.13 |
프로그래머스 > 완전탐색 > 소수찾기 (0) | 2019.04.11 |
프로그래머스 > 해시 > 프린터 (0) | 2019.03.30 |