본문 바로가기
Language/Kotlin

코틀린 컬렉션 함수 Partition()

by 시니성 2023. 8. 29.

코틀린의 partition() 함수는 컬렉션에 존재하는 원소들을 주어진 조건에 따라 두 개의 컬렉션으로 나눕니다. 이 함수는 Pair 타입을 반환하며, 첫 번째 원소는 주어진 조건을 만족하는 원소들의 컬렉션, 두 번째 원소는 조건을 만족하지 않는 원소들의 컬렉션입니다.

예시 시나리오:

시나리오: 우리는 여러 학생들의 점수 목록을 가지고 있습니다. 점수가 50점 이상인 학생들과 그렇지 않은 학생들을 각각 다른 리스트로 분리하고 싶습니다.

예시 코드:

fun main() {
    // 학생들의 점수 리스트 생성
    val scores = listOf(45, 88, 39, 100, 76, 42, 90, 55)

    // partition() 함수를 사용하여 50점 이상과 미만으로 점수를 분리
    val (passed, failed) = scores.partition { it >= 50 }

    // 결과 출력
    println("Passed students' scores: $passed")  // 50점 이상인 학생들의 점수
    println("Failed students' scores: $failed")  // 50점 미만인 학생들의 점수
}

이 코드를 실행하면 다음과 같은 출력을 얻을 수 있습니다:

Passed students' scores: [88, 100, 76, 90, 55]
Failed students' scores: [45, 39, 42]

상세한 주석과 함께 이해하면, partition() 함수는 주어진 조건에 따라 학생들의 점수를 "통과"와 "실패"라는 두 가지 그룹으로 나누는 역할을 합니다.