문제 설명
해설
문제의 핵심 요구사항:
- 정렬된 두 배열 nums1과 nums2를 병합해야 합니다.
- nums1 배열의 길이는 m + n이며, 처음 m개의 요소만 유효한 값이고 나머지는 0으로 채워져 있습니다.
- 결과는 새로운 배열을 반환하는 것이 아니라 nums1 배열 자체를 수정해야 합니다.
- 최종 결과는 오름차순으로 정렬되어야 합니다.
이 문제를 해결하기 위한 가장 효율적인 접근 방법은 뒤에서부터 배열을 채워나가는 것입니다. 그 이유는:
- nums1의 뒷부분은 0으로 채워져 있어서 덮어쓸 수 있습니다.
- 두 배열이 이미 정렬되어 있으므로, 각 배열의 가장 큰 값부터 비교하여 더 큰 값을 nums1의 뒤에서부터 채워넣을 수 있습니다.
- 이 방식을 사용하면 추가적인 공간이 필요하지 않습니다.
|
|
코드 풀이
Python
|
|
Javascript
|
|
참고 및 출처
programmers Coding Test
LeetCode - The World’s Leading Online Programming Learning Platform