Inspirado pela lição da APL da semana passada .
Dado um mapa de assentos 2D em maiúsculas e uma lista 1D de clientes, retorne o mapa de assentos e a lista de clientes, mas modificado da seguinte forma (para indicar assentos ocupados e clientes sentados):
Para cada letra exclusiva na lista de passageiros de entrada, minúscula que muitas (ou todas, se não houver o suficiente) dessa letra no mapa de assentos, indo da esquerda para a direita, de cima para baixo.
Para cada letra exclusiva no mapa de assentos, minúscula que muitas (ou todas, se não houver o suficiente) dessa carta na lista de passageiros, indo da esquerda para a direita.
- O mapa de assentos de entrada contém apenas espaços e letras maiúsculas do conjunto {
F
,B
,P
,E
}, e pode ser:- separados em linhas por quebras de linha
- uma lista de strings
- uma matriz de caracteres maiúsculos
- em qualquer outro formato comparável
- A lista de clientes de entrada contém apenas letras maiúsculas do conjunto {
F
,B
,P
,E
} e pode ser:- uma linha
- uma lista de caracteres
- em qualquer outro formato comparável
- O mapa de assentos retornado deve ser idêntico ao mapa de entrada, exceto que zero ou mais letras foram dobradas para minúsculas
- A lista de clientes retornados deve ser idêntica à da entrada, exceto que zero ou mais letras foram dobradas para minúsculas
- Espaço em branco à esquerda e à direita é permitido
Exemplos (edições reduzidas das aeronaves da United)
ERJ145
Entrada do mapa de assentos:
P
E
E PP
E EE
E EE
E EE
E EE
P PP
E EE
E EE
E EE
Entrada da lista de passageiros:
FFEEEEEEEEEEEEEEEE
Saída do mapa de assentos:
P
e
e PP
e ee
e ee
e ee
e ee
P PP
e eE
E EE
E EE
Saída da lista de passageiros:
FFeeeeeeeeeeeeeeee
CRJ700
Entrada do mapa de assentos:
F FF
F FF
PP PP
PP PP
PP PP
EE EE
PP PP
EE EE
EE EE
EE EE
Entrada da lista de clientes:
FFFFFFFFPPEEEEEEEEEEEEEEEEEEEEE
Saída do mapa de assentos:
f ff
f ff
pp PP
PP PP
PP PP
ee ee
PP PP
ee ee
ee ee
ee ee
Saída da lista de clientes:
ffffffFFppeeeeeeeeeeeeeeeeEEEEE
B757
Entrada do mapa de assentos:
F F F F
F F F F
F F F F
PPP
PPP PPP
PPP PPP
PPP PPP
EEE EEE
EEE EEE
PPP PPP
EEE EEE
EEE EEE
EEE
EEE EEE
EEE EEE
EEE EEE
EEE
Entrada da lista de passageiros:
FEEEEEEEEFEEEFEEEEEEEEFEEFFEEFEFFFEE
Saída do mapa de assentos:
f f f f
f f f f
f f F F
PPP
PPP PPP
PPP PPP
PPP PPP
eee eee
eee eee
PPP PPP
eee eee
eee eee
eeE
EEE EEE
EEE EEE
EEE EEE
EEE
Saída da lista de passageiros:
feeeeeeeefeeefeeeeeeeefeeffeefefffee
B767
Entrada do mapa de assentos:
F F F
F F F
BB B B BB
BB B B BB
BB B B BB
PP BB
PP
PP PPP PP
PP PPP PP
PP PPP PP
PP PPP PP
PP EEE PP
EE EEE EE
EE EEE EE
EE EEE EE
EE EEE EE
EE EEE EE
Entrada da lista de passageiros:
PPFEFEEEEEEEBBEEFFPEBPEBBEEFEEEFEEEEEEFPEEEPB
Saída do mapa de assentos:
f f f
f f f
bb b b bb
BB B B BB
BB B B BB
pp BB
pp
pp PPP PP
PP PPP PP
PP PPP PP
PP PPP PP
PP eee PP
ee eee ee
ee eee ee
ee eee ee
ee EEE EE
EE EEE EE
Saída da lista de passageiros:
ppfefeeeeeeebbeeffpebpebbeefeeefeeeeeeFpeeepb