문제링크 - https://leetcode.com/problems/merge-sorted-array/description/?envType=study-plan-v2&envId=top-interview-150
문제 분석
- nums1.length == m + n
- nums2.length == n
- 0 <= m, n <= 200
- 1 <= m + n <= 200
- -109 <= nums1[i], nums2[j] <= 109
다음과 같은 조건의 int array
nums1, nums2와 int
m, n이 입력값.
문제 해결
문제 해결 로직
- nums1 배열은 0을 빈 요소로 인식한다.
- nums2 배열에 있는 내용을 num1의 빈 요소에 넣는다.
3-1. 만약 nums1의 크기(m)이 0이라면 nums2가 어떤 값을 가지고 있어도 넣을 수 없다.
- num1을 합한 배열은 오름차순으로 정렬한다.
코드 작성
class Solution {
public void merge(int[] nums1, int m, int[] nums2, int n) {
int nums1MaxIndex = m-1;
int nums2MaxIndex = n-1;
int totalSize = m+n-1;
for(int i=m;i<=totalSize;i++){
nums1[i] = nums2[i-m];
}
Arrays.sort(nums1);
}
}