From b45d37bf3cfa7e697551a7fbefe90cb831ec5e2f Mon Sep 17 00:00:00 2001 From: ahjadi Date: Thu, 13 Feb 2025 13:15:29 +0300 Subject: [PATCH] Did Parts 1-5 and the Bonus --- .idea/misc.xml | 2 +- src/Main.kt | 40 ++++++++++++++++++++++++++++++++++++++-- 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 03f397c..10a22f9 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/src/Main.kt b/src/Main.kt index a7a5e00..9a12a47 100644 --- a/src/Main.kt +++ b/src/Main.kt @@ -1,3 +1,39 @@ fun main() { - println("Hello World!") -} \ No newline at end of file + // Part 1 + val numbers = (1..10).toList() + val numbersDoubled = numbers.map {it * 2} + println(numbersDoubled) + // Part 2 + val names = listOf("Alice", "Bob", "Amir", "Charlie", "Annie", "David") + val namesStartingWithA = filterNames(names) {it.startsWith("A")} + println(namesStartingWithA) + // Part 3 + val words = listOf("apple", "banana", "kiwi", "strawberry", "grape") + val sortedWordsDescending = {listOfWords: List -> listOfWords.sortedByDescending { it.length }} + println(sortedWordsDescending(words)) + // Part 4 + println(customFilter(numbers){ it > 5 }) + println(customFilter(numbers){ it % 2 == 0 }) + println(customFilter(numbers){ it % 3 == 0 }) + // Part 5 + println(processNumbers(numbers)) + // Bonus + val processedNumbers_Bonus = processNumbers_Bonus(numbers, { it % 2 != 0 }) { it * it} + println(processedNumbers_Bonus) +} +// For Part 2 +fun filterNames(names: List, filterByFirstLetter: (String) -> Boolean): List{ + return names.filter(filterByFirstLetter) +} +// For Part 4 +fun customFilter(numbers: List, filter: (Int) -> Boolean): List{ + return numbers.filter(filter) +} +// Part 5 +fun processNumbers(numbers: List): List{ + return numbers.filter { it % 2 != 0 }.map { it * it } +} +// Bonus +fun processNumbers_Bonus(numbers: List, filterEvenNumbers: (Int) -> Boolean, squareNumbers: (Int) -> Int): List{ + return numbers.filter(filterEvenNumbers).map(squareNumbers) +}