✅ nums1 슬라이스가 가리키는 배열의 값을 결과값으로 덮어써야함
package main
/*
- 병합
- nums1 에 결과 저장
*/
func merge(nums1 []int, m int, nums2 []int, n int) {
r := make([]int, m+n)
var p1, p2 int
for i := range r {
switch {
case p1 >= m:
r[i] = nums2[p2]
p2++
case p2 >= n:
r[i] = nums1[p1]
p1++
case nums1[p1] <= nums2[p2]:
r[i] = nums1[p1]
p1++
default:
r[i] = nums2[p2]
p2++
}
}
for i := range nums1 {
nums1[i] = r[i]
}
}