Dada una cadena S
y una lista de índices X
, modifique S
eliminando el elemento en cada índice de S
mientras usa ese resultado como el nuevo valor de S
.
Por ejemplo, dado S = 'codegolf'
y X = [1, 4, 4, 0, 2]
,
0 1 2 3 4 5 6 7 |
c o d e g o l f | Remove 1
c d e g o l f | Remove 4
c d e g l f | Remove 4
c d e g f | Remove 0
d e g f | Remove 2
d e f
Su tarea es realizar este proceso, recopilar los valores de S
después de cada operación y mostrarlos en una nueva línea en orden. La respuesta final sería
S = 'codegolf'
X = [1, 4, 4, 0, 2]
Answer:
codegolf
cdegolf
cdeglf
cdegf
degf
def
- Este es el código de golf, así que haga su código lo más corto posible.
- Puede suponer que los valores en
X
son siempre índices válidos paraS
, y puede usar indexación basada en 0 o en 1. - La cadena solo contendrá
[A-Za-z0-9]
- Cualquiera
S
ox
puede por vacío. SiS
está vacío, se deduce quex
también debe estar vacío. - También puede tomar
S
como una lista de caracteres en lugar de una cadena. - Puede imprimir el resultado o devolver una lista de cadenas. Los espacios en blanco iniciales y finales son aceptables. Cualquier forma de salida está bien siempre que sea fácil de leer.
Casos de prueba
S = 'abc', x = [0]
'abc'
'bc'
S = 'abc', x = []
'abc'
S = 'abc', x = [2, 0, 0]
'abc'
'ab'
'b'
''
S = '', x = []
''
S = 'codegolfing', x = [10, 9, 8, 3, 2, 1, 0]
'codegolfing'
'codegolfin'
'codegolfi'
'codegolf'
'codgolf'
'cogolf'
'cgolf'
'golf'
len(x)+1
cadenas.
S
como una lista de personajes?