[kotlin] 코틀린으로 선택 정렬 알고리즘 작성하기

이번에는 Kotlin으로 선택 정렬(Selection Sort) 알고리즘을 구현해보겠습니다. 선택 정렬은 리스트에서 가장 작은 원소를 선택하여 처음부터 순서대로 정렬하는 방식입니다.

선택 정렬 알고리즘 동작 방식

  1. 주어진 리스트에서 최솟값을 찾습니다.
  2. 최솟값을 첫 번째 인덱스로 이동합니다.
  3. 나머지 리스트에서 최솟값을 찾아 두 번째 인덱스로 이동합니다.
  4. 이러한 과정을 반복하여 정렬이 완료될 때까지 진행합니다.

Kotlin 코드로 선택 정렬 구현하기

fun selectionSort(arr: IntArray) {
    val n = arr.size
    for (i in 0 until n - 1) {
        var minIndex = i
        for (j in i + 1 until n) {
            if (arr[j] < arr[minIndex]) {
                minIndex = j
            }
        }
        if (minIndex != i) {
            val temp = arr[i]
            arr[i] = arr[minIndex]
            arr[minIndex] = temp
        }
    }
}

fun main() {
    val arr = intArrayOf(64, 25, 12, 22, 11)
    selectionSort(arr)
    println("정렬된 배열: ${arr.contentToString()}")
}

위의 Kotlin 코드는 선택 정렬 알고리즘을 구현한 것입니다. selectionSort 함수는 입력으로 정수 배열을 받아서 선택 정렬을 수행하고, main 함수에서는 주어진 배열을 정렬한 후 정렬된 배열을 출력하도록 합니다.

마치며

이제 Kotlin으로 선택 정렬 알고리즘을 구현하는 방법을 알아보았습니다. 선택 정렬은 간단하지만 효율적인 정렬 알고리즘 중 하나이며, Kotlin을 사용하여 알고리즘을 구현하는 것은 프로그래밍 실력 향상에 도움이 될 것입니다.

참고 자료: GeeksforGeeks - Selection Sort