본문 바로가기
Algorithm/알고리즘 문제풀이

LeetCode 88(Merge Sorted Array, java)

by devraphy 2022. 4. 12.

0. 문제

https://leetcode.com/problems/merge-sorted-array/

 

Merge Sorted Array - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

1. 문제 설명

- 문제에서 2개의 배열(nums1, nums2)이 주어진다.

- 이 2개의 배열은 오름차순으로 정렬되어 있다.

- num1 배열에 num2 배열을 병합하는데, 병합 후 모든 원소가 오름차순으로 정렬되어 있어야 한다.

 

- 문제에서 2개의 변수(m, n)가 주어진다.

- 병합의 주체가 되는 num1 배열은 m + n의 길이를 갖는다.

- 변수 m은 num1 배열에 새로운 원소를 추가할 수 있는 공간을 의미한다.

- 변수 n은 num2 배열의 원소 개수를 의미한다. 

 

2. 문제 해설

- for문을 돌려서 nums1을 탐색한다.

- index 값이 m일 때부터, nums1의 원소는 0이다.

- index가 m일 때부터 nums2의 원소를 num1에 삽입한다.

- for문이 종료되면 Arrays 라이브러리를 이용하여 num1 배열을 정렬한다.

 

3. 정답 코드

public void merge(int[] nums1, int m, int[] nums2, int n) {
   if (m + n > m) {
      for (int i = m; i < m + n; i++) {
         nums1[i] = nums2[i - m];
      }
   }
   Arrays.sort(nums1);
}

 

댓글