Hello Programmers/Coders, Today we are going to share solutions of Programming problems of HackerRank of Programming Language Java . At Each Problem with Successful submission with all Test Cases Passed, you will get an score or marks. And after solving maximum problems, you will be getting stars. This will highlight your profile to the recruiters.
In this post, you will find the solution for Java Comparator-HackerRank Problem. We are providing the correct and tested solutions of coding problems present on HackerRank. If you are not able to solve any problem, then you can take help from our Blog/website.
Use “Ctrl+F” To Find Any Questions Answer. & For Mobile User, You Just Need To Click On Three dots In Your Browser & You Will Get A “Find” Option There. Use These Option to Get Any Random Questions Answer.
Introduction To Java
JAVA was developed by James Gosling at Sun Microsystems Inc in the year 1991, later acquired by Oracle Corporation. It is a simple programming language. Java makes writing, compiling, and debugging programming easy. It helps to create reusable code and modular programs.
Java is a class-based, object-oriented programming language and is designed to have as few implementation dependencies as possible. A general-purpose programming language made for developers to write once run anywhere that is compiled Java code can run on all platforms that support Java. Java applications are compiled to byte code that can run on any Java Virtual Machine. The syntax of Java is similar to c/c++.
Link for the Problem – Java Comparator – Hacker Rank Solution
Java Comparator – Hacker Rank Solution
Problem :
Comparators are used to compare two objects. In this challenge, you’ll create a comparator and use it to sort an array.
The Player class is provided for you in your editor. It has fields: a String and a integer.
Given an array of Player objects, write a comparator that sorts them in order of decreasing score; if or more players have the same score, sort those players alphabetically by name. To do this, you must create a Checker class that implements the Comparator interface, then write an int compare(Player a, Player b) method implementing the Comparator.compare(T o1, T o2) method.
Input Format
Input from stdin is handled by the locked stub code in the Solution class.
The first line contains an integer, , denoting the number of players.
Each of the subsequent lines contains a player’s and , respectively.
Constraints
- players can have the same name.
- Player names consist of lowercase English letters.
Output Format
You are not responsible for printing any output to stdout. The locked stub code in Solution will create a Checker object, use it to sort the Player array, and print each sorted element.
Sample Input
5 amy 100 david 100 heraldo 50 aakansha 75 aleksa 150
Sample Output
aleksa 150 amy 100 david 100 aakansha 75 heraldo 50
Java Comparator – Hacker Rank Solution
import java.util.*; // Write your Checker class here class Checker implements Comparator<Player> { @Override public int compare(Player o1, Player o2) { if (o1.score > o2.score) { return -1; } if (o1.score < o2.score) { return 1; } if (o1.score == o2.score) { return o1.name.compareTo(o2.name); } return 0; } } class Player{ String name; int score; Player(String name, int score){ this.name = name; this.score = score; } } class Solution { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); Player[] player = new Player[n]; Checker checker = new Checker(); for(int i = 0; i < n; i++){ player[i] = new Player(scan.next(), scan.nextInt()); } scan.close(); Arrays.sort(player, checker); for(int i = 0; i < player.length; i++){ System.out.printf("%s %s\n", player[i].name, player[i].score); } } }
Very interesting info!Perfect just what I was looking for!