4. Median of Two Sorted Arrays
풀이
중앙값인 median을 구하는 문제이다.
nums1, nums2 라는 정렬된 배열 2개가 주어지고 두 배열을 합쳐서 중앙값을 구해야 한다.
크게 어렵지는 않지만 중앙값이라는 개념이 헷갈릴 수도 있다고 생각한다.
우리가 아는 산술평균(mean)을 구하는 문제가 아니다. (수의 합 / 수의 개수)
중앙값은 숫자 개수가 홀수면 배열의 가장 중앙에 있는 값을 반환하고,
짝수라면 (중앙에 있는 2개 숫자의 합 / 2)를 반환해야 한다.
이제 개념을 알았으니 코드로 옮기기만 하면 끝이다.
spread 연산을 통해서 배열을 합쳐주고 sort()를 호출해서 정렬한다.
그리고 숫자 개수가 홀수인지 짝수인지만 판별해주면 끝이다.
코드
/**
* @param {number[]} nums1
* @param {number[]} nums2
* @return {number}
*/
var findMedianSortedArrays = function(nums1, nums2) {
const nums = [...nums1, ...nums2].sort((a,b) => a - b);
if(nums.length%2 === 1) {
return nums[Math.floor(nums.length/2)];
}
return (nums[nums.length/2 - 1] + nums[nums.length/2]) / 2;
};
'개발 > 코딩 테스트 대비' 카테고리의 다른 글
[LeetCode] 2657. Find the Prefix Common Array of Two Arrays (0) | 2025.01.15 |
---|---|
[LeetCode] 3223. Minimum Length of String After Operations (0) | 2025.01.14 |
[LeetCode] 1400. Construct K Palindrome Strings (0) | 2025.01.11 |
[LeetCode] 2185. Counting Words With a Given Prefix (0) | 2025.01.10 |
앞으로의 다짐 (0) | 2025.01.10 |