1. 이미 정렬되어있는 두 개의 배열 nums1, nums2가 주어졌기 때문에 요소를 각각 비교하며 하나로 합친다.
2. 홀수의 경우 중앙에 있는 수, 짝수의 경우 중앙에 있는 두 개의 수를 2로 나눈 수를 반환한다.
class Solution {
public double findMedianSortedArrays(int[] nums1, int[] nums2) {
int size = nums1.length + nums2.length;
int[] nums = new int[size];
int index1 = 0;
int index2 = 0;
for(int i = 0; i < size; i++) {
if (index1 < nums1.length && index2 < nums2.length) {
if (nums1[index1] <= nums2[index2]) {
nums[i] = nums1[index1++];
} else {
nums[i] = nums2[index2++];
}
} else if (index1 < nums1.length) {
nums[i] = nums1[index1++];
} else {
nums[i] = nums2[index2++];
}
}
if (size % 2 == 1) {
return nums[size / 2];
}
return (nums[size / 2 - 1] + nums[size / 2]) / 2.0;
}
}
'코딩테스트' 카테고리의 다른 글
[leetcode] 168. Excel Sheet Column Title (0) | 2025.03.01 |
---|---|
[leetcode] 11. Container With Most Water (0) | 2025.01.15 |
[leetcode] 1657. Determine if Two Strings Are Close (0) | 2024.08.24 |
[leetcode] 80. Remove Duplicates from Sorted Array II (0) | 2024.08.03 |
[leetcode] 26. Remove Duplicates from Sorted Array (0) | 2024.08.03 |