본문 바로가기
모바일앱/Swift

Swift - 배열의 특정 두 요소를 교환하기

by GeekCode 2024. 7. 31.
반응형

 

 

 

배열의 요소를 서로 교환하기

배열에서 특정 요소 두개를 서로 교환하는 경우가 있다.
이때, 교환할 요소가 i번째와 j번째라고 했을 때, 아래와 같이 3가지 방법이 있다.

 

 

1. 직접 교환

임시 배열을 생성하여 교환할 값들을 저장하여, 원본 arr에 접근하여 변경

let tempArr = [originArr[i], originArr[j]]
arr[j] = tempArr[0]
arr[i] = tempArr[1]



 

 

2. 튜플을 이용한 교환

튜플을 사용하면 임시로 저장하는 공간없이 두 요소를 교환 가능하다.

(resultArr[i], resultArr[j]) = (resultArr[j], resultArr[i])



 

 

3. swapAt(_: _:)메서드를 이용한 교환

swapAt메서드의 파라미터는 원본 배열의 index가 들어간다. 별도의 메모리가 저장되지 않기 때문에 효율적이다.

arr.swapAt(i, j) 

swapAt 메서드의 시간복잡도는 𝑂(1) 이다.



반응형