관리 메뉴

솜씨좋은장씨

[leetCode] 7. Median of Two Sorted Arrays (Python) 본문

Programming/코딩 1일 1문제

[leetCode] 7. Median of Two Sorted Arrays (Python)

솜씨좋은장씨 2020. 2. 29. 01:15
728x90
반응형

There are two sorted arrays nums1 and nums2 of size m and n respectively.

Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).

You may assume nums1 and nums2 cannot be both empty.

 

Example 1:

nums1 = [1, 3]
nums2 = [2]

The median is 2.0

Example 2:

nums1 = [1, 2]
nums2 = [3, 4]

The median is (2 + 3)/2 = 2.5

Solution

class Solution:
    def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:
        newNumList = nums1
        newNumList.extend(nums2)
        
        newNumList.sort()
        
        list_len = len(newNumList)
        
        medium_num = list_len // 2
        
        if list_len % 2 == 1:
            answer = float(newNumList[medium_num])
        else:
            answer = float(newNumList[medium_num-1] + newNumList[medium_num]) / 2.0
        return answer

Solution 풀이 

extend로 num1, num2리스트를 하나로 합쳐주고

sort( ) 함수로 정렬해줍니다.

그 다음 합친 list의 길이를 구하고

그 길이가 홀수일때는 list의 길이를 2로 나눈 값을 인덱스로하여 답을 찾고

list의 길이를 2로 나눈 값을 인덱스로 사용했을때의 값과 그 인덱스보다 하나 앞의 값을 두개 더하고 2로 나누어준 값을

답으로 return하도록 하였습니다.

 

 

 

SOMJANG/CODINGTEST_PRACTICE

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

 

Comments