Median of Two Sorted Arrays (Sort)

하루히즘·2021년 4월 21일
0

LeetCode

목록 보기
4/17

설명

LeetCode의 Median of Two Sorted Arrays 문제다.

정렬된 두 배열을 받았을 때 이 배열의 중앙값을 구하는 것이다. 조금 헷갈릴 수 있는 부분이 중앙값(median)은 평균(mean)과 다르다. 중앙값은 말 그대로 값들을 순서대로 정렬했을 때 그 가운데에 위치한 값을 의미한다. 홀수라면 그냥 가운데 있는 값을 고르면 되지만 짝수라면 가운데 있는 두 값의 평균을 구해야 한다.

풀이

사실 특별할 건 없고 위의 공식을 말 그대로 적용하면 된다. 어쩌면 파이썬이라 가능한 풀이일지도 모른다.

class Solution:
    def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:
        mergedNums = nums1
        mergedNums.extend(nums2)
        mergedNums.sort()
        
        if len(mergedNums) % 2 == 1: # odd
            return mergedNums[int(len(mergedNums) / 2)]
        else: # even
            return (mergedNums[int(len(mergedNums) / 2)] + mergedNums[int(len(mergedNums) / 2) - 1]) / 2

후기

median의 정의를 제대로 몰랐기 때문에 한번 헤맸던 문제였다. 영어로 되어있는 LeetCode의 특성상 어쩔 수 없는 일이지만 충분히 감수할 만한 일이다.

profile
YUKI.N > READY?

0개의 댓글