🧑💻 언어 및 제출 결과
- 사용 언어:
TypeScript
- 통과 여부: ✅
🧠 풀이 설명
function merge(nums1: number[], m: number, nums2: number[], n: number): void {
nums1.splice(m, n, ...nums2);
nums1.sort((a, b) => a - b);
}
두 배열을 합치고 sorting 하는 문제입니다. 쓰라고 만든 메서드들이기 때문에 메서들로만 풀겠습니다. ㅠㅠnums1
은 m
+n
이기 때문에 [1, 2, 3, 0, 0, 0]
0이 들어간 자리를 nums2
로 치환하면 될 것 같습니다.splice
는 원본 배열을 잘라서 내뱉는 메서드지만 초반 주차 때 설명 드렸듯이 3번째 인자 부터는 원본 배열에 넣을 값들이 들어갑니다
원본 배열만 수정하면 되기 때문에 반환값은 안쓰고 배열만 수정해준 뒤 sorting 해줬습니다
📊 시간/공간 복잡도
✅ 어떠한 근거로 시간/공간 복잡도가 이렇게 나왔는지 설명해주세요.
⚡️ 풀이의 속도와 메모리 등을 캡쳐해서 올려주세요.
- 시간 복잡도:
O((m+n) log (m+n))
-sort((a, b) => a - b)
:O((m+n) log (m+n)) - (m+n)
개 요소 정렬함 - 공간 복잡도:
O(n)
-splice()
: 제거된 요소들 저장,sort()
: 정렬 과정에서 스택
'코딩테스트 > LeetCode' 카테고리의 다른 글
[LeetCode] Count Primes (3) | 2025.08.08 |
---|---|
[LeetCode] First Bad Version (1) | 2025.07.24 |
[LeetCode] Convert Sorted Array to Binary Search Tree (1) | 2025.07.23 |
[LeetCode] Binary Tree Level Order Traversal (0) | 2025.07.16 |
[LeetCode] Symmetric Tree (0) | 2025.07.16 |