Menu
Coddy logo textTech

Operatory sekwencji

Część sekcji Podstawy ścieżki Kotlin w Coddy. Lekcja 81 z 93.

Kotlin udostępnia operator + do łączenia list, dzięki czemu można łatwo scalać kolekcje. Działa to podobnie do łączenia ciągów znaków.

Aby połączyć dwie listy w jedną, po prostu użyj operatora +:

val first = listOf(1, 2, 3)
val second = listOf(4, 5, 6)
val combined = first + second
println(combined)  // [1, 2, 3, 4, 5, 6]

Możesz też dodać pojedynczy element do listy za pomocą tego samego operatora:

val colors = listOf("Red", "Green")
val moreColors = colors + "Blue"
println(moreColors)  // [Red, Green, Blue]

Operator - usuwa elementy z listy. Tworzy nową listę bez określonego elementu:

val numbers = listOf(1, 2, 3, 2, 4)
val result = numbers - 2
println(result)  // [1, 3, 2, 4]

Zwróć uwagę, że usuwane jest tylko pierwsze wystąpienie elementu. Aby usunąć wszystkie pasujące elementy, odejmij listę:

val numbers = listOf(1, 2, 3, 2, 4)
val result = numbers - listOf(2)
println(result)  // [1, 3, 4]

Te operatory zawsze zwracają nową listę: oryginalne listy pozostają niezmienione. Dzięki temu możesz ich bezpiecznie używać, nie martwiąc się, że przypadkowo zmodyfikujesz swoje dane.

challenge icon

Wyzwanie

Średni

Otrzymasz dwie listy liczb całkowitych oraz jedną liczbę całkowitą do usunięcia. Połącz obie listy za pomocą operatora +, a następnie usuń wszystkie wystąpienia podanej liczby całkowitej za pomocą operatora - z listą.

Wypisz wynikową listę.

Format wejścia:

  • Pierwszy wiersz: liczba całkowita n oznaczająca liczbę elementów na pierwszej liście
  • Następne n wierszy: liczby całkowite dla pierwszej listy
  • Następny wiersz: liczba całkowita m oznaczająca liczbę elementów na drugiej liście
  • Następne m wierszy: liczby całkowite dla drugiej listy
  • Ostatni wiersz: liczba całkowita do usunięcia z połączonej listy

Format wyjścia:

Wypisz wynikową listę w domyślnym formacie listy Kotlin.

Przykład:

Jeśli pierwsza lista to [1, 2, 3], druga lista to [2, 4, 2], a liczba do usunięcia to 2, połączona lista będzie wynosić [1, 2, 3, 2, 4, 2]. Po usunięciu wszystkich wystąpień 2 wynikiem powinno być:

[1, 3, 4]

Spróbuj swoich sił

fun main() {
    // Wczytaj pierwszą listę
    val n = readLine()!!.toInt()
    val list1 = mutableListOf<Int>()
    repeat(n) {
        list1.add(readLine()!!.toInt())
    }
    
    // Wczytaj drugą listę
    val m = readLine()!!.toInt()
    val list2 = mutableListOf<Int>()
    repeat(m) {
        list2.add(readLine()!!.toInt())
    }
    
    // Wczytaj liczbę całkowitą do usunięcia
    val toRemove = readLine()!!.toInt()
    
    // TODO: Napisz tutaj swój kod
    // Połącz obie listy za pomocą operatora +
    // Usuń wszystkie wystąpienia toRemove za pomocą operatora - i listy
    
    // Wyświetl wynikową listę
    println(result)
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Kotlin