DecreasingScoresRanks

This commit is contained in:
dadgam3er 2024-11-04 09:54:33 -05:00
parent a3dd8f3ddc
commit 0e13691185
9 changed files with 135 additions and 0 deletions

3
DecreasingScores/.idea/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_23" default="true" project-jdk-name="openjdk-23" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/DecreasingScores.iml" filepath="$PROJECT_DIR$/DecreasingScores.iml" />
</modules>
</component>
</project>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,101 @@
/* DecreasingScore
* 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
*/
import java.util.*;
// Write your Checker class here
class Checker implements Comparator<Player> {
@Override
public int compare(Player p1, Player p2) {
if (p1.score == p2.score) {
return p1.name.compareTo(p2.name);
}
return p2.score - p1.score;
}
}
class Player {
String name;
int score;
Player(String name, int score) {
this.name = name;
this.score = score;
}
}
public class DecreasingScore {
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);
}
}
}

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

Binary file not shown.