Bem-vindo ao seu primeiro dia na PPCG Inc. Como nosso mais novo classificador assistente de documentos juniores, você é responsável por garantir que todos os documentos que lhe enviamos sejam arquivados em ordem alfabética. É tão fácil que um macaco pode fazer isso. Metaforicamente falando, como contratamos um macaco para fazê-lo. Adivinha? Acontece que os macacos não entendem nosso alfabeto. De qualquer forma, não há tempo para consertar a bagunça que existe agora, então tente não piorar a situação, ok? Então chegue lá! Se você sentir fome, há bananas perto do bebedouro. Boa sorte!
Descrição do trabalho
Entrada
- Você receberá uma lista de cadeias (o arquivo morto) e uma cadeia que precisa ser adicionada a essa lista (o documento)
- Todas as strings conterão apenas letras maiúsculas, minúsculas e espaços
- As strings sempre começam e terminam com uma letra
Tarefa
Determine a posição de destino do documento: a posição que ele deve receber no arquivo morto. A posição de destino pode ser determinada da seguinte maneira:
- Para cada posição:
- Contar a quantidade de seqüências de caracteres no arquivo morto antes dessa posição, em ordem alfabética antes do documento
- Contar a quantidade de seqüências de caracteres no arquivo morto depois dessa posição que estão em ordem alfabética após o documento
- Defina a pontuação da posição como a soma das duas contagens acima
- A posição de destino do documento é a posição com a pontuação mais alta
- Em caso de empate, todas as posições com a pontuação mais alta são igualmente válidas como posição de destino. Apenas um precisa ser selecionado.
Ao classificar:
- Letras maiúsculas e minúsculas são equivalentes
- Os espaços vêm antes das letras
Resultado
- O arquivo com o documento adicionado a ele de qualquer forma
OU
- A posição de destino do documento, em um índice com base em 0 ou em 1
Avaliação de emprego
Menos bytes ganha!
Exemplo de E / S
Archive:
Applebuck Season
Friendship is Magic
The Ticket Master
Griffon the BrushOff
Boast Busters
Bridle Gossip
Document: Dragonshy
Position scores (0-based index):
0: 0 + 3 = 3
1: 1 + 3 = 4
2: 1 + 2 = 3
3: 1 + 1 = 2
4: 1 + 0 = 1
5: 2 + 0 = 2
6: 3 + 0 = 3
Target position: 1