반응형
포스팅 요약
1. 문제
LeetCode문제 풀러가기
https://leetcode.com/problems/median-of-two-sorted-arrays/
문제
Given two sorted arrays nums1 and nums2 of size m and n respectively, return the median of the two sorted arrays.
The overall run time complexity should be O(log (m+n)).
Example 1:
Input: nums1 = [1,3], nums2 = [2]
Output: 2.00000
Explanation: merged array = [1,2,3] and median is 2.
Example 2:
Input: nums1 = [1,2], nums2 = [3,4]
Output: 2.50000
Explanation: merged array = [1,2,3,4] and median is (2 + 3) / 2 = 2.5.
2. 문제 해석
nums1과 nums2 배열을 합치고, 정렬하여 새 배열을 만든다. 새 배열의 중간값을 구한다.
예1)
입력: nums1 = [1,3] , nums2 = [2]
출력: 2.00000
설명: nums1과num2를 합치고 정렬하면 [1,2,3] 배열이 만들어진다. [1,2,3]의 중간값은 2다.
예2)
입력: nums1 = [1,3] , nums2 = [2,4]
출력: 2.50000
설명: nums1과num2를 합치고 정렬하면 [1,2,3,4] 배열이 만들어진다. [1,2,3,4]의 중간값은 (2+3)/2=2.5다.
3. 코드
var findMedianSortedArrays = function(nums1, nums2) {
const nums = nums1.concat(nums2).sort((a,b)=>a-b) //nums1과2를 concat으로 합치고 sort로 정렬한다.
return nums.length%2===0?(nums[(nums.length/2)-1]+nums[nums.length/2])/2:nums[Math.floor(nums.length/2)]
};
// 새로운 배열 nums의 길이가 짝수면 중간 두 숫자를 더한뒤 2로 나누어준다.
// 새로운 배열 nums의 길이가 홀수면 중간 숫자 하나만 출력한다.
위에 작성된 코드보다 더 효율성좋은 풀이는 많습니다 :)
아마 제가 작성한 코드는 다른 초보자분들도 접근하기 쉬운 방법이라고 생각합니다.
반응형
'코딩테스트 > 코딩테스트 문제' 카테고리의 다른 글
코딩테스트 문제: (LeetCode) Sqrt(x) - 자바스크립트 (0) | 2022.07.28 |
---|---|
코딩테스트 문제: (LeetCode) Remove Element - 자바스크립트 (0) | 2022.07.27 |
Leetcode 깃허브 연동하기 및 사용법 (상세 설명) (0) | 2022.07.07 |
코딩테스트 문제 사이트 추천 (0) | 2022.07.07 |
프로그래머스 - [1차] 다트 게임Lv1 풀이/주석/자세한 설명(2018 KAKAO BLIND RECRUITMENT) (2) | 2022.06.14 |
댓글