How to find the largest and the smallest word in a string with Swift

1 Answer

0 votes
import Foundation

func findLargestAndSmallestWords(in s: String) -> (largest: String?, smallest: String?) {
    // Split the string into words
    let words = s.components(separatedBy: 
                             CharacterSet.whitespacesAndNewlines).filter { !$0.isEmpty }
    
    guard !words.isEmpty else {
        return (nil, nil)
    }
    
    var largestWord = words[0]
    var smallestWord = words[0]
    
    // Iterate through the words to find the largest and smallest
    for word in words {
        if word.count > largestWord.count {
            largestWord = word
        }
        if word.count < smallestWord.count {
            smallestWord = word
        }
    }
    
    return (largestWord, smallestWord)
}

let s = "Swift is a programming language for iOS, macOS, watchOS, and tvOS"

let result = findLargestAndSmallestWords(in: s)

print("Largest word: \(result.largest ?? "None")")
print("Smallest word: \(result.smallest ?? "None")")



/*
run:

Largest word: programming
Smallest word: a

*/

 



answered Dec 28, 2024 by avibootz
...