Сегодня мой шестой день кодинга. Я решил одну проблему
Задача: футбольный матч.
Вам дан протокол футбольного матча между двумя командами. Каждый раз, когда одна из команд забивала гол, название этой команды записывалось в журнале результатов отдельной строкой.
В конце матча побеждает команда, забившая строго больше голов, чем другая команда. Если обе команды забили равное количество голов, матч заканчивается вничью. Определите название команды-победителя или то, что матч закончился вничью.
Вход
- Первая строка входных данных содержит одно целое число T, обозначающее количество тестовых случаев. Ниже приводится описание тестовых случаев T.
- Первая строка каждого теста содержит одно целое число n, обозначающее количество записей в журнале результатов (общее количество голов, забитых во время матча).
- Каждая из следующих n строк содержит строку s, обозначающую название команды, забившей гол.
Выход
Для каждого набора входных данных выведите одну строку, содержащую одну строку — название команды-победителя или «Ничья» (без кавычек) в случае ничьей.
Ограничения
- 1 ≤ T ≤ 105
- 0 ≤ n ≤ 105
- 1 ≤ |s| ≤ 20
- s состоит только из строчных латинских букв
- сумма n по всем тестам ≤ 105
- для каждого теста есть не более двух разных названий команд
Образец 1:
Вход
2 4 ab bc bc ab 3 xxx yyy yyy
Выход
Draw yyy
Решение (в Java):
import java.util.*; import java.lang.*; import java.io.*; class Codechef { public static void main (String[] args) throws java.lang.Exception { Scanner sc= new Scanner(System.in); int testcase= sc.nextInt(); while(testcase--> 0){ ArrayList<String> teams= new ArrayList<>(); int n= sc.nextInt(); int scores[]= new int[2]; scores[0]=0; scores[1]=0; while(n-->0){ String score= sc.next(); if(teams.isEmpty()){ scores[0]++; teams.add(score); } else if ( !teams.isEmpty() && !teams.contains(score)){ scores[1]++; teams.add(score); } else { if(teams.indexOf(score)== 0) scores[0]++; else scores[1]++; } } if(scores[0]>scores[1]) System.out.println(teams.get(0)); else if(scores[1]>scores[0]) System.out.println(teams.get(1)); else System.out.println("Draw"); } } }