## Checkpoint 5: Validation of my solution

 Jul '23 Hello! I'm seeking assistance to verify whether my solution for checkpoint 5 is accurate. Could you please review it and provide feedback? Here's my code: ``````// Your input is: // let luckyNumbers = [7, 4, 38, 21, 16, 15, 12, 33, 31, 49] // Your goal is to: // Filter out any numbers that are even // Sort the remaining integers in the array in an ascending order // Map them to strings in the format "7 is a lucky number" // Print the resulting array, one item per line // You cannot use any temporary variables let luckyNumbers = [7, 4, 38, 21, 16, 15, 12, 33, 31, 49] let oddLuckyNumbers = luckyNumbers.filter { !\$0.isMultiple(of: 2) } print(oddLuckyNumbers) let sortedOddLuckyNumbers = oddLuckyNumbers.sorted { \$0 < \$1 } print(sortedOddLuckyNumbers) let mappedOddLuckyNumbers = sortedOddLuckyNumbers.map { "\(\$0) is a lucky number" } print(mappedOddLuckyNumbers) for i in mappedOddLuckyNumbers { print(i) }`````` 2 Jul '23 You missed one important bit. @twoStraws asks you to code without using temporary variables. You used: `oddLuckyNumbers, sortedOddLuckyNumbers`, and `mappedOddLuckyNumbers`. -40 points from Hufflepuff! // You cannot use any temporary variables Hint: The lesson here is that Swift is a functional language. The output of one function can form the input to another function. 2 Jul '23 Yes a part of checkpoint is To chain these functions, use luckyNumbers.first { }.second { }, obviously putting the real function calls in there. eg ``let myLuckyNumbers = luckyNumbers.filter { !\$0.isMultiple(of: 2) }.sorted() // etc`` or (still "inline" but can be easier to read) ``````let myLuckyNumbers = luckyNumbers .filter { !\$0.isMultiple(of: 2) } .sorted() // etc`````` So you nearly there. PS You do not need to use `.sorted { \$0 < \$1 }` as `.sorted()` will sort Int from less to more 2 Jul '23 thanks for visiting the hiring Company in Bellevue Painting. 2 Jul '23 I see. My sincerest apologies @Obelix as I didn't know that creating a new variable is still using a temporary variable. Thank you for the clarification. Here's my updated code ``````let luckyNumbersToCheck = [7, 4, 38, 21, 16, 15, 12, 33, 31, 49] let newLuckyNumbersToCheck = luckyNumbersToCheck .filter { !\$0.isMultiple(of: 2) } .sorted() .map { "\(\$0) is a lucky number" } print(newLuckyNumbersToCheck) for i in newLuckyNumbersToCheck { print(i) }`````` I have an additional question. Is newLuckyNumbersToCheck still considered as a temporary variable? I've also removed the \$0 < \$1 just like what @NigelGee suggested. 2

SPONSORED Superwall lets you build & test paywalls without shipping updates. Run experiments, offer sales, segment users, update locked features and more at the click of button. Best part? It's FREE for up to 250 conversions / mo and the Superwall team builds out 100% custom paywalls – free of charge.

Sponsor Hacking with Swift and reach the world's largest Swift community!