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.
public static List<Integer> climbingLeaderboard(List<Integer> ranked, List<Integer> player) {
// Remove duplicates and sort in descending order
List<Integer> uniqueRanked = ranked.stream()
.distinct()
.sorted(Comparator.reverseOrder())
.collect(Collectors.toList());
List<Integer> result = new ArrayList<>();
int index = uniqueRanked.size() - 1;
for (int score : player) {
while (index >= 0 && score >= uniqueRanked.get(index)) {
index--;
}
result.add(index + 2); // +2 because index is 0-based and we want rank
}
return result;
}
}
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")));
int rankedCount = Integer.parseInt(bufferedReader.readLine().trim());
List<Integer> ranked = Arrays.stream(bufferedReader.readLine().trim().split(" "))
.map(Integer::parseInt)
.collect(toList());
int playerCount = Integer.parseInt(bufferedReader.readLine().trim());
List<Integer> player = Arrays.stream(bufferedReader.readLine().trim().split(" "))
.map(Integer::parseInt)
.collect(toList());
List<Integer> result = Result.climbingLeaderboard(ranked, player);
for (Integer rank : result) {
bufferedWriter.write(rank.toString());
bufferedWriter.newLine();
}
bufferedReader.close();
bufferedWriter.close();
}
}
Cookie support is required to access HackerRank
Seems like cookies are disabled on this browser, please enable them to open this website
Climbing the Leaderboard
You are viewing a single comment's thread. Return to all comments →
JAVA15; import java.io.; import java.util.; import java.util.stream.*; import static java.util.stream.Collectors.toList;
class Result {
}
public class Solution { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")));
}