Kotlin - 리스트에서 최대, 최소 값 찾기

리스트의 모든 요소들 중에서 최대 값, 최소 값을 찾는 방법을 소개합니다.

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

list의 min(), max() 메소드는 리스트의 요소들 중에 최소, 최대 값을 리턴합니다.

하지만 min(), max()는 deprecated 되었고, 동일한 동작을 하는 minOrNull() 또는 maxOrNull()을 사용하는 것이 좋습니다.

fun main() {

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

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

Output:

min: 10
max: 55

2. 정렬을 이용한 방법

list.sorted()는 오름차순으로 정렬된 리스트을 리턴합니다.

오름차순으로 정렬된 리스트에서 Index 0의 요소는 최소 값, 마지막 Index 요소는 최대 값이 됩니다.

fun main() {

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

    val sortedList = list.sorted()

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

Output:

min: 10
max: 55

3. for loop를 이용한 방법

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("min: $min")
    println("max: $max")
}

Output:

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