문제 설명
주어진 문제는 두 개의 정렬된 정수 배열 nums1과 nums2를 병합하는 것입니다. 조건은 다음과 같습니다:
- nums1과 nums2는 이미 오름차순으로 정렬되어 있음.
- m은 nums1의 실제 요소 수, n은 nums2의 요소 수를 나타냄.
- nums1의 길이는 m + n이며, 처음 m개 요소는 병합할 데이터이고, 나머지 n개는 0으로 채워져 있으며 무시됨.
- nums2의 길이는 n.
- 결과는 nums1 안에 오름차순으로 정렬된 상태로 저장되어야 하며, 별도로 반환하지 않음.
문제 풀이
class Solution:
def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
"""
Do not return anything, modify nums1 in-place instead.
"""
count = 0
if nums2 == []:
return nums1
for i, num in enumerate(nums1):
if count == n:
break
if num == 0:
nums1[i] = nums2[count]
count+=1
nums1.sort()
return nums1
1. nums1이 0에 해당하는 자리에 nums2를 삽입하고 count를 측정한다.
2. count가 n과 동일하다면 반복문을 멈추고 nums1을 정렬하여 반환한다.
문제가 간단하여 설명도 간단하게 마치겠습니다.
'알고리즘' 카테고리의 다른 글
| 1. Two Sum (0) | 2025.03.16 |
|---|---|
| 2379. Minimum Recolors to Get K Consecutive Black Blocks (0) | 2025.03.09 |