Menu
Coddy logo textTech

Creating Sets

Part of the Logic & Flow section of Coddy's Kotlin journey. Lesson 11 of 63.

A set keeps distinct elements. setOf creates a read-only set; converting a list with toSet removes duplicate values. A set has membership, not positional indexing. Sort a set before producing ordered output.

Inside main:

val ids = setOf(4, 2, 4, 7)
println(ids.size)

The repeated four appears only once, leaving three distinct values.

A set stores distinct values; it does not provide list-style indexed access.

challenge icon

Challenge

Medium

Complete distinctCount with parameters items: List<Int>. Return the number of distinct integers.

Unless stricter bounds are stated above, collections contain at most 100 elements at each level, and integer arguments and integer collection values are between -1000 and 1000. Text supplied for parsing can include invalid or out-of-range representations as described.

Return a value of type Int. Keep the supplied input/output code. It reads scalar arguments one per line; a list starts with its count followed by its elements, and a map starts with its entry count followed by each key and value. Nested lists repeat the count-and-elements format for each row. The supplied main prints the return value followed by one newline. Lists use Kotlin's standard bracketed format; print no additional labels.

Try it yourself

fun distinctCount(items: List<Int>): Int {
    // Write your solution here.
    return 0
}
fun main() {
    val itemsCount = readln().toInt()
    val items = mutableListOf<Int>()
    for (i0 in 0 until itemsCount) {
        val itemsItem = readln().toInt()
        items.add(itemsItem)
    }
    println(distinctCount(items))
}
quiz iconTest yourself

This lesson includes a short quiz. Start the lesson to answer it and track your progress.

All lessons in Logic & Flow

Practice on your own: Kotlin playground