From 74749762324ffad4a74f7b4ad0497493044ca683 Mon Sep 17 00:00:00 2001 From: Kristian Sooklal Date: Thu, 3 Oct 2019 10:14:35 -0400 Subject: [PATCH] Java Comparator Hackerrank Challenge Add solution for https://www.hackerrank.com/challenges/java-comparator/problem --- java/JavaComparator/Solution.java | 55 +++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 java/JavaComparator/Solution.java diff --git a/java/JavaComparator/Solution.java b/java/JavaComparator/Solution.java new file mode 100644 index 0000000..2701cbb --- /dev/null +++ b/java/JavaComparator/Solution.java @@ -0,0 +1,55 @@ +import java.util.*; + +class Checker implements Comparator{ + + + public int compare(Player a, Player b){ + int comparison = 0; + if (a.score < b.score){ + return 1; + } else if (a.score > b.score){ + return -1; + } else { + if (a.name == null && b.name == null){ + return 0; + } else if (a.name == null) { + return -1; + } else if (b.name == null){ + return 1; + } else { + comparison = a.name.compareTo(b.name); + return comparison; + } + } + } +} +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); + } + } +}