Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Foundation
- import Glibc
- public func solution(_ S : inout String) -> String {
- let array = S.components(separatedBy: "\n")
- let lines = array.map({ (line) -> [String] in
- line.components(separatedBy: ",").map{ $0.trimmingCharacters(in: CharacterSet.whitespaces)}
- })
- let returnArray = lines.map { (line) -> String in
- let ext = line[0].components(separatedBy: ".")[1]
- let cities = lines.filter { $0[1] == line[1] }.sorted(by: { (line1, line2) -> Bool in
- let dateFormatter = DateFormatter()
- dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
- let date1 = dateFormatter.date(from: line1[2])!
- let date2 = dateFormatter.date(from: line2[2])!
- return date1 < date2
- })
- let index = cities.index(where: { (s) -> Bool in
- s == line
- })
- var formattedIndex = String(index! + 1)
- let zeros = String(repeatElement("0", count: String(cities.count).characters.count - formattedIndex.characters.count))
- return line[1] + zeros + formattedIndex + "." + ext
- }
- return returnArray.joined(separator: "\n")
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement