Uma pessoa tem dois primeiros nomes se o sobrenome também for um nome comum. Você tem a tarefa de determinar quais nomes completos em uma lista são dois primeiros nomes.
John Smith
John Doe
Luke Ryan
Ryan Johnson
Jenna Jackson
Tom John
Qualquer nome que ocorra na coluna do primeiro nome é potencialmente um primeiro nome. Se o número de ocorrências do nome na coluna do primeiro nome for maior que o número de ocorrências na coluna do sobrenome, é definitivamente um primeiro nome.
Na lista acima, John
aparece duas vezes nos primeiros nomes e uma vez nos sobrenomes, por isso é definitivamente um primeiro nome. Ryan
aparece uma vez no primeiro e uma vez no último, por isso é (provavelmente) um primeiro nome.
Portanto, Tom John
definitivamente tem dois primeiros nomes e Luke Ryan
provavelmente possui.
Dada a lista acima, seu código deve gerar o seguinte:
Luke Ryan has two first names
Tom John definitely has two first names
Entrada
Como mencionado acima, seu código incluirá uma lista de nomes completos (da entrada padrão, um por linha) separados por espaços. Os nomes podem incluir hífens ou apóstrofes, mas você nunca receberá um nome ou sobrenome que inclua espaços (por exemplo Liam De Rosa
, não , mas Liam De-Rosa
ou Liam De'Rosa
seja um jogo justo. Em outras palavras, os nomes corresponderão [-'A-Za-z]+
.
Cada nome completo será exclusivo (ou seja John Smith
, não aparecerá duas vezes).
Resultado
Imprima os nomes completos dos nomes (uma vez por linha) seguidos por um has two first names
ou definitely has two first names
se atenderem aos critérios acima. Os nomes devem ser impressos apenas uma vez.
Os nomes que não são os dois primeiros nomes não precisam ser impressos.
Você deve preservar o caso e os caracteres especiais do nome.
Exemplos
Entrada
Madison Harris
Riley Hudson
Addison Hills
Riley Phillips
Scott Hill
Levi Murphy
Hudson Wright
Nathan Baker
Harper Brooks
Chloe Morris
Aubrey Miller
Hudson Lopez
Samuel Owen
Wyatt Victoria
Brooklyn Cox
Nathan Murphy
Ryan Scott
Resultado
Riley Hudson definitely has two first names
Ryan Scott has two first names
Entrada
Owen Parker
Daniel Hall
Cameron Hall
Sofia Watson
Mia Murphy
Ryan Jones
Emily Ramirez
Resultado
[no output]
Entrada
Olivia Robinson
Jacob van-Dyke
Jacob Ella
Brayden De'Rosa
Levi Brook
Brook Bella
Ella Hill
Ella Anderson
Brook-Anne van-Dyke
Resultado
Jacob Ella definitely has two first names
Levi Brook has two first names
Notas e Pontuação
- Isso é código de golfe. A pontuação mais baixa (bytes) vence.
- lacunas padrão se aplicam.
Boa sorte!
Johnson
seria diferente de John
. Os nomes devem corresponder exatamente.
definitely has two first names
e has two first names
? Pode ser sempre um desses?
definitely
se o nome ocorrer mais vezes na coluna do nome do que na coluna do sobrenome. Este caso substitui, portanto, apenas seja exibido definitely has two first names
. Confira os exemplos.
Johnson
comoJohn
, ou é diferente?