Array에서 중복을 제거하는 방법은 새로운 배열을 만들고 넣을 때마다 Contain 되는지 체크 후 넣고 반환하는 방법이 있고,
Set이라는 자료구조를 사용하여 처리하는 방법이 있습니다.
그 중 Set을 활용하여 중복을 제거해 보겠습니다.
let duplicatedArray = [1, 2, 3, 4, 5, 5, 6, 2]
// 예상 답: [1,2,3,4,5,6,2]
let deduplicatedArray = Array(Set(duplicatedArray) // [2, 1, 3, 6, 4, 5]
10만 번의 요소가 있는 배열을 중복제거하고,
set으로 바꾸면 순서가 보장되지 않으니, sorted로 원래 배열처럼 오름차순으로 바꿔주겠습니다.
let array = (0..<100000).map { _ in Int.random(in: 0..<1000)}
let deduplicatedArray = Array(Set(array)).sorted()
개수가 배열을 중복제거하고,
Set으로 바꾸면 순서가 보장되지 않으니, sorted로 원래 배열처럼 오름차순으로도 바꿔주겠습니다.
결과
시간을 측정하면 상당한 차이가 있게 됩니다.
'Swift' 카테고리의 다른 글
Swift에서 Map 만들어보기 (1) | 2023.05.03 |
---|---|
Swift Optional unWrapping을 좀 더 간편하게 쓰는 법 (0) | 2023.04.20 |
Array의 index를 안전하게 처리하는 방법 (2) | 2023.04.18 |
KeyPath (2) | 2023.01.16 |
FP에서 Setter 사용법 (0) | 2022.12.10 |