[kotlin] 코틀린으로 선형 탐색 알고리즘 작성하기

선형 탐색은 특정한 값을 찾기 위해 배열이나 리스트를 처음부터 끝까지 순차적으로 탐색하는 알고리즘입니다.

여기서는 코틀린을 사용하여 간단한 선형 탐색 알고리즘을 구현하는 방법을 알아보겠습니다.

1. 선형 탐색 알고리즘 구현하기

다음은 코틀린으로 선형 탐색 알고리즘을 구현한 예시입니다.

fun linearSearch(array: Array<Int>, target: Int): Int {
    for (i in array.indices) {
        if (array[i] == target) {
            return i  // 원하는 값의 인덱스 반환
        }
    }
    return -1  // 원하는 값이 없을 경우 -1 반환
}

fun main() {
    val numbers = arrayOf(4, 2, 10, 5, 8)
    val target = 10
    val index = linearSearch(numbers, target)
    if (index != -1) {
        println("$target는 인덱스 $index에 있습니다.")
    } else {
        println("$target를 찾을 수 없습니다.")
    }
}

위의 예시에서 linearSearch 함수는 주어진 배열에서 원하는 값의 인덱스를 반환하며, 찾고자 하는 값이 없을 경우 -1을 반환합니다. main 함수에서는 linearSearch 함수를 사용하여 값을 찾고 결과를 출력합니다.

2. 선형 탐색 알고리즘의 시간 복잡도

선형 탐색 알고리즘의 시간 복잡도는 O(n)입니다. 이는 배열이나 리스트의 크기에 비례하여 탐색 시간이 증가함을 의미합니다.

3. 마치며

코틀린을 사용하여 간단한 선형 탐색 알고리즘을 구현해보았습니다. 선형 탐색은 간단하지만 큰 데이터셋에서는 비효율적일 수 있으므로, 실제 애플리케이션에서는 효율적인 탐색 알고리즘을 선택하는 것이 중요합니다.

참고문헌: