Kotlin - 배열에서 최소 값, 최대 값 찾기

배열의 요소들 중에서 최소 값, 최대 값을 찾는 다양한 방법을 소개합니다.

1. min(), max()를 이용한 방법

Array가 제공하는 min(), max() 함수는 배열의 최소 값, 최대 값을 리턴합니다.

이 함수들은 deprecated 되었기 때문에, 동일한 동작을 하는 minOrNull() 또는 maxOrNull()을 사용하는 것이 좋습니다.

fun main() {

    val arr = arrayOf(10, 33, 21, 55, 24)

    println("max: ${arr.maxOrNull()}")
    println("min: ${arr.minOrNull()}")
}

Output:

max: 55
min: 10

2. 정렬을 이용한 방법

Array.sorted()는 오름차순으로 정렬된 배열을 리턴합니다.

오름차순으로 정렬되었기 때문에, Index 0의 요소는 최소 값이 되고, 마지막 Index 요소는 최대 값이 됩니다.

fun main() {

    val arr = arrayOf(10, 33, 21, 55, 24)

    val sortedArr = arr.sorted()

    println("max: ${sortedArr.last()}")
    println("min: ${sortedArr.first()}")
}

Output:

max: 55
min: 10

3. 반복문을 이용한 방법

for문으로 배열의 모든 요소를 순회하면서, 최소 값과 최대 값을 찾을 수 있습니다.

아래와 같이 min 변수의 초기 값을 Int의 최대 값, max 변수의 초기 값을 Int의 최소 값으로 설정하고 for문으로 순회하면서 값을 찾습니다.

fun main() {

    val list = listOf(10, 33, 21, 55, 24)

    var max = Int.MIN_VALUE
    var min = Int.MAX_VALUE
    for (i in list) {
        min = if (min > i) i else min
        max = if (max < i) i else max
    }

    println("max: $max")
    println("min: $min")
}

Output:

max: 55
min: 10
Loading script...
codechachaCopyright ©2019 codechacha