Inspirado en la lección APL de la semana pasada .
Dado un mapa de asientos en 2D en mayúsculas y una lista de clientes en 1D, devuelva el mapa de asientos y la lista de clientes, pero modifique de la siguiente manera (para indicar los asientos ocupados y los clientes sentados):
Para cada letra única en la lista de pasajeros de entrada, minúscula esa cantidad (o todas, si no hay suficiente) de esa letra en el mapa de asientos, de izquierda a derecha, de arriba a abajo.
Para cada letra única en el mapa de asientos, minúscula esa cantidad (o todas, si no hay suficiente) de esa letra en la lista de pasajeros, de izquierda a derecha.
- El mapa de asientos de entrada sólo contiene espacios y letras mayúsculas del conjunto {
F
,B
,P
,E
}, y puede ser:- separados en filas por saltos de línea
- una lista de cadenas
- una matriz de caracteres en mayúscula
- en cualquier otro formato comparable
- La lista de clientes de entrada sólo contiene letras mayúsculas del conjunto {
F
,B
,P
,E
} y pueden ser:- una cuerda
- una lista de personajes
- en cualquier otro formato comparable
- El mapa de asiento devuelto debe ser idéntico al de entrada, excepto que cero o más letras se han plegado a minúsculas
- La lista de clientes devuelta debe ser idéntica a la de entrada, excepto que cero o más letras se han plegado a minúsculas
- Se permiten espacios en blanco iniciales y finales
Ejemplos (ediciones abreviadas de aviones de United)
ERJ145
Entrada del mapa del asiento:
P
E
E PP
E EE
E EE
E EE
E EE
P PP
E EE
E EE
E EE
Entrada de la lista de pasajeros:
FFEEEEEEEEEEEEEEEE
Salida del mapa del asiento:
P
e
e PP
e ee
e ee
e ee
e ee
P PP
e eE
E EE
E EE
Salida de la lista de pasajeros:
FFeeeeeeeeeeeeeeee
CRJ700
Entrada del mapa del asiento:
F FF
F FF
PP PP
PP PP
PP PP
EE EE
PP PP
EE EE
EE EE
EE EE
Entrada de lista de clientes:
FFFFFFFFPPEEEEEEEEEEEEEEEEEEEEE
Salida del mapa del asiento:
f ff
f ff
pp PP
PP PP
PP PP
ee ee
PP PP
ee ee
ee ee
ee ee
Lista de clientes de salida:
ffffffFFppeeeeeeeeeeeeeeeeEEEEE
B757
Entrada del mapa del asiento:
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 de la lista de pasajeros:
FEEEEEEEEFEEEFEEEEEEEEFEEFFEEFEFFFEE
Salida del mapa del asiento:
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
Salida de la lista de pasajeros:
feeeeeeeefeeefeeeeeeeefeeffeefefffee
B767
Entrada del mapa del asiento:
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 de la lista de pasajeros:
PPFEFEEEEEEEBBEEFFPEBPEBBEEFEEEFEEEEEEFPEEEPB
Salida del mapa del asiento:
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
Salida de la lista de pasajeros:
ppfefeeeeeeebbeeffpebpebbeefeeefeeeeeeFpeeepb