본문 바로가기
Swift

Array에서 중복 제거하는 방법

by zinozino 2023. 4. 19.

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