Advertisement
Guest User

Untitled

a guest
Sep 15th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. func removeDupLetters(from text: String) -> String {
  2.  
  3. //Turn each letter in (Int,Char), assigning a unique number to every letter
  4. let text = text.enumerated()
  5. //Gouping text by letter into a dictionary; loses order
  6. let textDict = Dictionary(grouping: text, by: {$0.element})
  7. //Returning the first value(Int,Char) of every key(letter), and sorting incremently by the enumerated value
  8. let singles = textDict.compactMap({$0.value.first}).sorted(by: {$0.offset < $1.offset})
  9.  
  10. textDict.forEach({print($0)})
  11. print("")
  12. singles.forEach({print($0)})
  13. print("------")
  14.  
  15. return String(singles.compactMap({$0.element}))
  16. }
  17.  
  18. removeDupLetters(from: "hello")
  19. removeDupLetters(from: "wombat")
  20. removeDupLetters(from: "Mississippi")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement