We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
importFoundation// Enter your code here protocolComparator{associatedtypeItem:ComparablestaticfunccompareTo(_a:Item,_b:Item)->Int}finalclassChecker<T:Comparable>:Comparator{staticfunccompareTo(_a:T,_b:T)->Int{ifa<b{return-1}elseifa>b{return1}else{return0}}}funccompareTo(_player1:(String,Int),_player2:(String,Int))->Bool{letres=Checker.compareTo(player1.1,player2.1)ifres==0{returnChecker.compareTo(player1.0,player2.0)<=0}returnres>0}ifletnumItemsStr=readLine(),letnumItems=Int(numItemsStr){varscores=[(String,Int)]()for_in1...numItems{ifletline=readLine(){letparts=line.split(separator:" ")letname=String(parts[0])letscore=Int(parts[1])??0scores.append((name,score))}}scores.sort(by:{compareTo($0,$1)})for(name,score)inscores{print("\(name) \(score)")}}
Cookie support is required to access HackerRank
Seems like cookies are disabled on this browser, please enable them to open this website
Sorting: Comparator
You are viewing a single comment's thread. Return to all comments →
My Swift solution: