Remove Duplicates
Remove Duplicates - Explanation
Problem Summary
Write a function that removes duplicate values from an array.
Go to Problem →Detailed Explanation
이 문제는 **Set 자료구조**를 활용하여 배열에서 중복을 제거하는 방법을 학습합니다. **Set이란?** Set은 중복을 허용하지 않는 값들의 집합입니다. 같은 값을 여러 번 추가해도 하나만 저장됩니다. **Set으로 중복 제거하기** 1. `new Set(arr)` - 배열로 Set 생성 (중복 자동 제거) 2. `[...set]` - Set을 다시 배열로 변환 **[1, 2, 2, 3, 3, 3] 처리 과정** - new Set([1, 2, 2, 3, 3, 3]) → Set {1, 2, 3} - [...Set {1, 2, 3}] → [1, 2, 3] **순서 보존** Set은 삽입 순서를 유지합니다. 따라서 원래 배열에서 각 값이 처음 등장한 순서대로 결과가 나옵니다. **filter로 구현하기** ```javascript function removeDuplicates(arr) { return arr.filter((item, index) => arr.indexOf(item) === index); } ``` 이 방법은 각 요소가 처음 등장하는 위치와 현재 위치가 같은 경우만 유지합니다. **주의: 객체 중복** Set은 원시값(숫자, 문자열)의 중복은 제거하지만, 객체는 참조로 비교하므로 내용이 같아도 다른 객체로 취급됩니다.
Solution Code
function removeDuplicates(arr) {
return [...new Set(arr)];
}Key Concepts from This Problem
Common Mistakes
Hints
Complexity Analysis
Time Complexity
O(n)
Grows linearly with input size
Space Complexity
O(n)
Uses memory proportional to input size