Advertisement
Guest User

soalfoto

a guest
Aug 18th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 1.26 KB | None | 0 0
  1. import Foundation
  2. import Glibc
  3.  
  4. public func solution(_ S : inout String) -> String {
  5.    
  6.     let array = S.components(separatedBy: "\n")
  7.  
  8.      
  9.     let lines = array.map({ (line) -> [String] in
  10.         line.components(separatedBy: ",").map{ $0.trimmingCharacters(in: CharacterSet.whitespaces)}
  11.     })
  12.      
  13.      
  14.     let returnArray = lines.map { (line) -> String in
  15.          
  16.         let ext = line[0].components(separatedBy: ".")[1]
  17.          
  18.         let cities = lines.filter { $0[1] == line[1] }.sorted(by: { (line1, line2) -> Bool in
  19.             let dateFormatter = DateFormatter()
  20.             dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
  21.             let date1 = dateFormatter.date(from: line1[2])!
  22.             let date2 = dateFormatter.date(from: line2[2])!
  23.             return date1 < date2
  24.         })
  25.          
  26.         let index = cities.index(where: { (s) -> Bool in
  27.             s == line
  28.         })
  29.          
  30.         var formattedIndex = String(index! + 1)
  31.          
  32.         let zeros = String(repeatElement("0", count: String(cities.count).characters.count - formattedIndex.characters.count))
  33.          
  34.         return line[1] + zeros + formattedIndex  + "." + ext
  35.     }
  36.      
  37.      
  38.     return returnArray.joined(separator: "\n")
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement