Statistics

Problem Statement for "Losers"

Problem Statement

You are playing a series of games. You want to find out who the worst player (or players) is.

Create a class Losers that contains a method find which, given a String[] games that lists all of the players of all of the games that have been played so far, returns the name of the worst player (or players if there is a tie). If more than one player ties for the worst, return all players that tie for the worst, sorted alphabetically. Each element will be a space-separated list of names of players that played that game - ordered by how they placed (1st place is listed 1st, 2nd place is listed 2nd, etc...). You compare players by counting their total score. Their scores are determined by the number of top-3 places they have accumulated. A second place is worth half as much as a win, and a 3rd place is worth 1/3 as much as a win. The player(s) with the lowest total score is the worst.

Definition

Class:
Losers
Method:
find
Parameters:
String[]
Returns:
String[]
Method signature:
String[] find(String[] games)
(be sure your method is public)

Notes

  • Not all players play each game. A player who does not play in a game gets no score for that game. You need to consider ALL players who have played in at least 1 of the games.

Constraints

  • games will contain between 1 and 50 elements, inclusive.
  • Valid player names will each be between 1 and 10 capital letters ('A' - 'Z'), inclusive.
  • Each element of games will contain at least one name, but need not have more than one player - there need not be a second or third place player.
  • Each element of games will be between 1 and 50 characters in length, inclusive.
  • Each element of games will be a list of 1 or more valid player names separated by single spaces, with no leading or trailing spaces.
  • Each element of games will contain no duplicate names.
  • There will not be more than 100 different player names total.

Examples

  1. {"BOB FRANK AMY", "BOB AMY FRANK"}

    Returns: { "AMY", "FRANK" }

    Since BOB has two first places, his score is higher than each of the other two. AMY and FRANK each scored one second place and one third, so they have the same score - and are tied for the worst. Remember to sort the names alphabetically - AMY before FRANK.

  2. {"BOB MIKE DAVE FRANK ART"}

    Returns: { "ART", "FRANK" }

    Since neither FRANK or ART ever placed in the top 3, they both tie for the worst score. Again, don't forget to sort the names alphabetically.

  3. {"BOB FRANK MIKE JOE ROB"}

    Returns: { "JOE", "ROB" }

  4. {"MIKEY DAVE", "DAVE MIKEY"}

    Returns: { "DAVE", "MIKEY" }

  5. {"MIKE", "ROB", "AMY"}

    Returns: { "AMY", "MIKE", "ROB" }

  6. {"MIKE ROB AMY", "ROB AMY"}

    Returns: { "AMY" }

  7. {"MIKE ROB AMY", "ROB AMY", "ROB AMY"}

    Returns: { "MIKE" }

    ROB and AMY each have total scores higher than MIKE.

  8. {"A B C", "D B C", "E D C"}

    Returns: { "A", "B", "C", "E" }

    A and E each have one first place, B has 2 second places, and C has 3 third places - each totalling the same score, and D has a higher score than all the rest of them.

  9. {"A B C D E F G H I J K L M N O P Q R S T U V W X AA", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X LL", "A B C D E F G H I J K L M N O P Q R S T U V W X BB", "A B C D E F G H I J K L M N O P Q R S T U V W X QQ", "A B C D E F G H I J K L M N O P Q R S T U V W X QQ"}

    Returns: { "AA", "BB", "D", "E", "F", "G", "H", "I", "J", "K", "L", "LL", "M", "N", "O", "P", "Q", "QQ", "R", "S", "T", "U", "V", "W", "X" }

  10. {"A"}

    Returns: { "A" }

  11. {"BILLYJOBOB", "Y", "COSMO"}

    Returns: { "BILLYJOBOB", "COSMO", "Y" }

  12. {"BILLYJOBOB"}

    Returns: { "BILLYJOBOB" }

  13. {"AAAAAAAAAA AAAAAAAAAB AAAAAAAAAC AAAAAAAAAD", "AAAAAAAAAE AAAAAAAAAF AAAAAAAAAG AAAAAAAAAH", "AAAAAAAAAI AAAAAAAAAJ AAAAAAAAAK AAAAAAAAAL", "AAAAAAAAAM AAAAAAAAAN AAAAAAAAAO AAAAAAAAAP", "AAAAAAAAAQ AAAAAAAAAR AAAAAAAAAS AAAAAAAAAT", "AAAAAAAAAU AAAAAAAAAV AAAAAAAAAW AAAAAAAAAX", "AAAAAAAAAY AAAAAAAAAZ", "AAAAAAAABA AAAAAAAABB AAAAAAAABC AAAAAAAABD", "AAAAAAAABE AAAAAAAABF AAAAAAAABG AAAAAAAABH", "AAAAAAAABI AAAAAAAABJ AAAAAAAABK AAAAAAAABL", "AAAAAAAABM AAAAAAAABN AAAAAAAABO AAAAAAAABP", "AAAAAAAABQ AAAAAAAABR AAAAAAAABS AAAAAAAABT", "AAAAAAAABU AAAAAAAABV AAAAAAAABW AAAAAAAABX", "AAAAAAAABY AAAAAAAABZ", "AAAAAAAACA AAAAAAAACB AAAAAAAACC AAAAAAAACD", "AAAAAAAACE AAAAAAAACF AAAAAAAACG AAAAAAAACH", "AAAAAAAACI AAAAAAAACJ AAAAAAAACK AAAAAAAACL", "AAAAAAAACM AAAAAAAACN AAAAAAAACO AAAAAAAACP", "AAAAAAAACQ AAAAAAAACR AAAAAAAACS AAAAAAAACT", "AAAAAAAACU AAAAAAAACV AAAAAAAACW AAAAAAAACX", "AAAAAAAACY AAAAAAAACZ", "AAAAAAAADA AAAAAAAADB AAAAAAAADC AAAAAAAADD", "AAAAAAAADE AAAAAAAADF AAAAAAAADG AAAAAAAADH", "AAAAAAAADI AAAAAAAADJ AAAAAAAADK AAAAAAAADL", "AAAAAAAADM AAAAAAAADN AAAAAAAADO AAAAAAAADP", "AAAAAAAADQ AAAAAAAADR AAAAAAAADS AAAAAAAADT", "AAAAAAAADU AAAAAAAADV"}

    Returns: { "AAAAAAAAAD", "AAAAAAAAAH", "AAAAAAAAAL", "AAAAAAAAAP", "AAAAAAAAAT", "AAAAAAAAAX", "AAAAAAAABD", "AAAAAAAABH", "AAAAAAAABL", "AAAAAAAABP", "AAAAAAAABT", "AAAAAAAABX", "AAAAAAAACD", "AAAAAAAACH", "AAAAAAAACL", "AAAAAAAACP", "AAAAAAAACT", "AAAAAAAACX", "AAAAAAAADD", "AAAAAAAADH", "AAAAAAAADL", "AAAAAAAADP", "AAAAAAAADT" }

  14. {"A B AAAAAAAAAA AAAAAAAAAB AAAAAAAAAC AAAAAAAAAD", "A B AAAAAAAAAE AAAAAAAAAF AAAAAAAAAG AAAAAAAAAH", "A B AAAAAAAAAI AAAAAAAAAJ AAAAAAAAAK AAAAAAAAAL", "A B AAAAAAAAAM AAAAAAAAAN AAAAAAAAAO AAAAAAAAAP", "A B AAAAAAAAAQ AAAAAAAAAR AAAAAAAAAS AAAAAAAAAT", "A B AAAAAAAAAU AAAAAAAAAV AAAAAAAAAW AAAAAAAAAX", "A B AAAAAAAAAY AAAAAAAAAZ", "A B AAAAAAAABA AAAAAAAABB AAAAAAAABC AAAAAAAABD", "A B AAAAAAAABE AAAAAAAABF AAAAAAAABG AAAAAAAABH", "A B AAAAAAAABI AAAAAAAABJ AAAAAAAABK AAAAAAAABL", "A B AAAAAAAABM AAAAAAAABN AAAAAAAABO AAAAAAAABP", "A B AAAAAAAABQ AAAAAAAABR AAAAAAAABS AAAAAAAABT", "A B AAAAAAAABU AAAAAAAABV AAAAAAAABW AAAAAAAABX", "A B AAAAAAAABY AAAAAAAABZ", "A B AAAAAAAACA AAAAAAAACB AAAAAAAACC AAAAAAAACD", "A B AAAAAAAACE AAAAAAAACF AAAAAAAACG AAAAAAAACH", "A B AAAAAAAACI AAAAAAAACJ AAAAAAAACK AAAAAAAACL", "A B AAAAAAAACM AAAAAAAACN AAAAAAAACO AAAAAAAACP", "A B AAAAAAAACQ AAAAAAAACR AAAAAAAACS AAAAAAAACT", "A B AAAAAAAACU AAAAAAAACV AAAAAAAACW AAAAAAAACX", "A B AAAAAAAACY AAAAAAAACZ", "A B AAAAAAAADA AAAAAAAADB AAAAAAAADC AAAAAAAADD", "A B AAAAAAAADE AAAAAAAADF AAAAAAAADG AAAAAAAADH", "A B AAAAAAAADI AAAAAAAADJ AAAAAAAADK AAAAAAAADL", "A B AAAAAAAADM AAAAAAAADN AAAAAAAADO AAAAAAAADP", "A B AAAAAAAADQ AAAAAAAADR AAAAAAAADS AAAAAAAADT"}

    Returns: { "AAAAAAAAAB", "AAAAAAAAAC", "AAAAAAAAAD", "AAAAAAAAAF", "AAAAAAAAAG", "AAAAAAAAAH", "AAAAAAAAAJ", "AAAAAAAAAK", "AAAAAAAAAL", "AAAAAAAAAN", "AAAAAAAAAO", "AAAAAAAAAP", "AAAAAAAAAR", "AAAAAAAAAS", "AAAAAAAAAT", "AAAAAAAAAV", "AAAAAAAAAW", "AAAAAAAAAX", "AAAAAAAAAZ", "AAAAAAAABB", "AAAAAAAABC", "AAAAAAAABD", "AAAAAAAABF", "AAAAAAAABG", "AAAAAAAABH", "AAAAAAAABJ", "AAAAAAAABK", "AAAAAAAABL", "AAAAAAAABN", "AAAAAAAABO", "AAAAAAAABP", "AAAAAAAABR", "AAAAAAAABS", "AAAAAAAABT", "AAAAAAAABV", "AAAAAAAABW", "AAAAAAAABX", "AAAAAAAABZ", "AAAAAAAACB", "AAAAAAAACC", "AAAAAAAACD", "AAAAAAAACF", "AAAAAAAACG", "AAAAAAAACH", "AAAAAAAACJ", "AAAAAAAACK", "AAAAAAAACL", "AAAAAAAACN", "AAAAAAAACO", "AAAAAAAACP", "AAAAAAAACR", "AAAAAAAACS", "AAAAAAAACT", "AAAAAAAACV", "AAAAAAAACW", "AAAAAAAACX", "AAAAAAAACZ", "AAAAAAAADB", "AAAAAAAADC", "AAAAAAAADD", "AAAAAAAADF", "AAAAAAAADG", "AAAAAAAADH", "AAAAAAAADJ", "AAAAAAAADK", "AAAAAAAADL", "AAAAAAAADN", "AAAAAAAADO", "AAAAAAAADP", "AAAAAAAADR", "AAAAAAAADS", "AAAAAAAADT" }

  15. {"A B C AAAAAAAAAA AAAAAAAAAB AAAAAAAAAC AAAAAAAAAD", "A B C AAAAAAAAAE AAAAAAAAAF AAAAAAAAAG AAAAAAAAAH", "A B C AAAAAAAAAI AAAAAAAAAJ AAAAAAAAAK AAAAAAAAAL", "A B C AAAAAAAAAM AAAAAAAAAN AAAAAAAAAO AAAAAAAAAP", "A B C AAAAAAAAAQ AAAAAAAAAR AAAAAAAAAS AAAAAAAAAT", "A B C AAAAAAAAAU AAAAAAAAAV AAAAAAAAAW AAAAAAAAAX", "A B C AAAAAAAAAY AAAAAAAAAZ", "A B C AAAAAAAABA AAAAAAAABB AAAAAAAABC AAAAAAAABD", "A B C AAAAAAAABE AAAAAAAABF AAAAAAAABG AAAAAAAABH", "A B C AAAAAAAABI AAAAAAAABJ AAAAAAAABK AAAAAAAABL", "A B C AAAAAAAABM AAAAAAAABN AAAAAAAABO AAAAAAAABP", "A B C AAAAAAAABQ AAAAAAAABR AAAAAAAABS AAAAAAAABT", "A B C AAAAAAAABU AAAAAAAABV AAAAAAAABW AAAAAAAABX", "A B C AAAAAAAABY AAAAAAAABZ", "A B C AAAAAAAACA AAAAAAAACB AAAAAAAACC AAAAAAAACD", "A B C AAAAAAAACE AAAAAAAACF AAAAAAAACG AAAAAAAACH", "A B C AAAAAAAACI AAAAAAAACJ AAAAAAAACK AAAAAAAACL", "A B C AAAAAAAACM AAAAAAAACN AAAAAAAACO AAAAAAAACP", "A B C AAAAAAAACQ AAAAAAAACR AAAAAAAACS AAAAAAAACT", "A B C AAAAAAAACU AAAAAAAACV AAAAAAAACW AAAAAAAACX", "A B C AAAAAAAACY AAAAAAAACZ", "A B C AAAAAAAADA AAAAAAAADB AAAAAAAADC AAAAAAAADD", "A B C AAAAAAAADE AAAAAAAADF AAAAAAAADG AAAAAAAADH", "A B C AAAAAAAADI AAAAAAAADJ AAAAAAAADK AAAAAAAADL", "A B C AAAAAAAADM AAAAAAAADN AAAAAAAADO AAAAAAAADP", "A B C AAAAAAAADQ AAAAAAAADR AAAAAAAADS"}

    Returns: { "AAAAAAAAAA", "AAAAAAAAAB", "AAAAAAAAAC", "AAAAAAAAAD", "AAAAAAAAAE", "AAAAAAAAAF", "AAAAAAAAAG", "AAAAAAAAAH", "AAAAAAAAAI", "AAAAAAAAAJ", "AAAAAAAAAK", "AAAAAAAAAL", "AAAAAAAAAM", "AAAAAAAAAN", "AAAAAAAAAO", "AAAAAAAAAP", "AAAAAAAAAQ", "AAAAAAAAAR", "AAAAAAAAAS", "AAAAAAAAAT", "AAAAAAAAAU", "AAAAAAAAAV", "AAAAAAAAAW", "AAAAAAAAAX", "AAAAAAAAAY", "AAAAAAAAAZ", "AAAAAAAABA", "AAAAAAAABB", "AAAAAAAABC", "AAAAAAAABD", "AAAAAAAABE", "AAAAAAAABF", "AAAAAAAABG", "AAAAAAAABH", "AAAAAAAABI", "AAAAAAAABJ", "AAAAAAAABK", "AAAAAAAABL", "AAAAAAAABM", "AAAAAAAABN", "AAAAAAAABO", "AAAAAAAABP", "AAAAAAAABQ", "AAAAAAAABR", "AAAAAAAABS", "AAAAAAAABT", "AAAAAAAABU", "AAAAAAAABV", "AAAAAAAABW", "AAAAAAAABX", "AAAAAAAABY", "AAAAAAAABZ", "AAAAAAAACA", "AAAAAAAACB", "AAAAAAAACC", "AAAAAAAACD", "AAAAAAAACE", "AAAAAAAACF", "AAAAAAAACG", "AAAAAAAACH", "AAAAAAAACI", "AAAAAAAACJ", "AAAAAAAACK", "AAAAAAAACL", "AAAAAAAACM", "AAAAAAAACN", "AAAAAAAACO", "AAAAAAAACP", "AAAAAAAACQ", "AAAAAAAACR", "AAAAAAAACS", "AAAAAAAACT", "AAAAAAAACU", "AAAAAAAACV", "AAAAAAAACW", "AAAAAAAACX", "AAAAAAAACY", "AAAAAAAACZ", "AAAAAAAADA", "AAAAAAAADB", "AAAAAAAADC", "AAAAAAAADD", "AAAAAAAADE", "AAAAAAAADF", "AAAAAAAADG", "AAAAAAAADH", "AAAAAAAADI", "AAAAAAAADJ", "AAAAAAAADK", "AAAAAAAADL", "AAAAAAAADM", "AAAAAAAADN", "AAAAAAAADO", "AAAAAAAADP", "AAAAAAAADQ", "AAAAAAAADR", "AAAAAAAADS" }

  16. {"A B C D E F G"}

    Returns: { "D", "E", "F", "G" }

  17. {"A B", "A C D", "A C D"}

    Returns: { "B" }

  18. {"FIRST SECOND"}

    Returns: { "SECOND" }

  19. {"A B C"}

    Returns: { "C" }

  20. {"A B C E R T D K"}

    Returns: { "D", "E", "K", "R", "T" }

  21. {"A B C", "D B C", "E D C"}

    Returns: { "A", "B", "C", "E" }

  22. {"ADAM ADAMA ADAMB ADAMC", "ADAMA ADAMB ADAMC ADAM", "ADAMB ADAMC ADAM ADAMA", "RAOUL BOB", "RAOUL BOB", "RAOUL BOB", "BOB RAOUL"}

    Returns: { "ADAMC" }

  23. {"A B C Z Y X W T R M P L Q J"}

    Returns: { "J", "L", "M", "P", "Q", "R", "T", "W", "X", "Y", "Z" }

  24. {"BOB MIKE DAVE FRANK ART"}

    Returns: { "ART", "FRANK" }

  25. {"B F A", "B A F"}

    Returns: { "A", "F" }

  26. {"A B C D"}

    Returns: { "D" }

  27. {"A B C", "D B C", "E D C"}

    Returns: { "A", "B", "C", "E" }

  28. {"A B C", "D B C", "E D C"}

    Returns: { "A", "B", "C", "E" }

  29. {"BOB FRANK AMY", "BOB AMY FRANK"}

    Returns: { "AMY", "FRANK" }

  30. {"A B C D E F G"}

    Returns: { "D", "E", "F", "G" }

  31. {"A B C", "D B C", "E D C"}

    Returns: { "A", "B", "C", "E" }

  32. {"A B C D E F G", "A B C D E G F"}

    Returns: { "D", "E", "F", "G" }

  33. {"A B C", "D B C", "E D C"}

    Returns: { "A", "B", "C", "E" }

  34. {"BOB MIKE DAVE FRANK ART"}

    Returns: { "ART", "FRANK" }

  35. {"A B C D", "A BOB D F", "BOB A"}

    Returns: { "F" }

  36. {"A B C", "C B A"}

    Returns: { "B" }


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: