Сегодня мой шестой день кодинга. Я решил одну проблему

Задача: футбольный матч.

Вам дан протокол футбольного матча между двумя командами. Каждый раз, когда одна из команд забивала гол, название этой команды записывалось в журнале результатов отдельной строкой.

В конце матча побеждает команда, забившая строго больше голов, чем другая команда. Если обе команды забили равное количество голов, матч заканчивается вничью. Определите название команды-победителя или то, что матч закончился вничью.

Вход

  • Первая строка входных данных содержит одно целое число 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");
  }
 }
}