[Array / String] Merge Sorted Array

전우재·2023년 8월 24일
0

leetcode

목록 보기
1/21

문제링크 - 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이 입력값.

문제 해결

문제 해결 로직

  1. nums1 배열은 0을 빈 요소로 인식한다.
  2. nums2 배열에 있는 내용을 num1의 빈 요소에 넣는다.
    3-1. 만약 nums1의 크기(m)이 0이라면 nums2가 어떤 값을 가지고 있어도 넣을 수 없다.
  3. num1을 합한 배열은 오름차순으로 정렬한다.

코드 작성

class Solution {
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        
        // 더한 후 배열의 크기 = m+n
        int nums1MaxIndex = m-1;
        int nums2MaxIndex = n-1;
        int totalSize = m+n-1;

        // m의 빈 요소값 부터 합한 크기까지 num2 요소 입력
        for(int i=m;i<=totalSize;i++){
            nums1[i] = nums2[i-m];
        }
        
        // 병합 결과 오름차순 정렬
        Arrays.sort(nums1);
    }
}

0개의 댓글

관련 채용 정보