[swift] 배열의 원소들을 정렬하지 않고 인덱스만 정렬하는 방법
let array = [3, 1, 4, 2]
let sortedIndices = array.indices.sorted { array[$0] < array[$1] }
for index in sortedIndices {
print(index) // 인덱스가 정렬된 순서로 출력됨
}
위의 코드에서 array.indices
는 배열의 인덱스 범위를 나타내는 Range
입니다. sortedIndices
는 배열의 각 인덱스를 정렬한 결과를 담고 있습니다. sortedIndices
를 순회하면서 각 인덱스를 출력하면, 인덱스가 정렬된 순서대로 출력됩니다.
참고로 sorted()
메서드를 사용하면 값을 정렬한 후 인덱스를 가져올 수 있습니다. 다음은 값을 정렬한 후 인덱스를 가져오는 예시입니다.
let array = [3, 1, 4, 2]
let sortedIndices = array.indices.sorted { array[$0] < array[$1] }
for index in sortedIndices {
let sortedValue = array[index]
print(sortedValue) // 값이 정렬된 순서로 출력됨
}
위의 코드에서 sortedValue
는 인덱스를 이용하여 정렬된 순서대로 배열의 값을 가져옵니다.
이 방법을 사용하면 배열의 원소를 정렬하지 않고 인덱스만 정렬할 수 있습니다.