[swift] 정렬 함수를 사용하여 배열의 중복 원소 개수 구하기

배열에서 중복된 원소의 개수를 구하는 방법은 여러 가지가 있습니다. 여기서는 Swift의 정렬 함수를 사용하여 중복 원소의 개수를 구하는 예시를 살펴보겠습니다.

정렬 함수를 사용한 중복 원소 개수 구하기

  1. 배열을 정렬합니다. Swift의 sort() 함수를 사용하여 배열을 오름차순으로 정렬합니다.
let array = [4, 2, 1, 3, 2, 4, 5, 1]
let sortedArray = array.sorted()
  1. 정렬된 배열을 순회하면서 중복된 원소의 개수를 세어줍니다. 중복된 원소는 바로 앞에 있는 원소와 값이 같은 경우입니다.
var duplicateCount = 0
for i in 1 ..< sortedArray.count {
    if sortedArray[i] == sortedArray[i-1] {
        duplicateCount += 1
    }
}

print("중복된 원소의 개수: \(duplicateCount)")

위의 예시에서는 [4, 2, 1, 3, 2, 4, 5, 1] 배열에서 중복된 원소의 개수를 구하였습니다. 정렬 후에 [1, 1, 2, 2, 3, 4, 4, 5]가 되며, 중복된 원소는 1, 2, 4가 있기 때문에 중복된 원소의 개수는 3입니다.

참고자료