Start learning free

LESSON 395 OF 415 · PROJECTS: COMMAND-LINE TOOLS

CLI Tool: sort v2 — Reverse (Descending) Sort in Swift

Practice

Build the next version of the Unix sort command, this time with the -r flag baked in. Given a list of lines, return them sorted in descending order by character code (the exact reverse of v1's order, like LC_ALL=C sort -r: lowercase letters come before uppercase ones), joined by newline characters (\n). Duplicates are all kept. If the list is empty, return the empty string.

Function signature:

func sortLines(_ lines: [String]) -> String

Example:

Input: lines = ["banana", "apple", "cherry"]

Output: "cherry\nbanana\napple"

When printed:
cherry
banana
apple

Use sorted(by: >) to get a new array in descending order without mutating the input.

The full solution:
class Solution {
    func sortLines(_ lines: [String]) -> String {
        let sortedLines = lines.sorted(by: >)
        return sortedLines.joined(separator: "\n")
    }
}

STEP 1 OF 2
    Ctrl + Enter to check

    Sort V2 in Swift

    Keep going with SwiftAbout 340 step-by-step lessons, from your first line of code to coding interviews. Free to start.
    Start learning free