Biorąc pod uwagę ciąg znaków Si listę indeksów X, zmodyfikuj S, usuwając element przy każdym indeksie, Sjednocześnie wykorzystując ten wynik jako nową wartość S.
Na przykład, biorąc pod uwagę S = 'codegolf'i 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
Twoim zadaniem jest wykonanie tego procesu, zebranie wartości Spo każdej operacji i wyświetlenie każdego z nich w nowej linii w kolejności. Ostateczna odpowiedź brzmi:
S = 'codegolf'
X = [1, 4, 4, 0, 2]
Answer:
codegolf
cdegolf
cdeglf
cdegf
degf
def
- To jest golf golfowy, więc ustaw swój kod tak krótko, jak to możliwe.
- Możesz założyć, że wartości w
Xsą zawsze poprawnymi indeksamiSi możesz użyć indeksowania opartego na 0 lub na podstawie 1. - Ciąg będzie zawierać tylko
[A-Za-z0-9] - Albo
Salboxmoże być pusty. JeśliSjest pusty, oznacza to, żexrównież musi być pusty. - Możesz również traktować
Sjako listę znaków zamiast ciągu. - Możesz wydrukować dane wyjściowe lub zwrócić listę ciągów znaków. Dopuszczalne są wiodące i końcowe białe znaki. Każda forma wyniku jest w porządku, o ile jest łatwa do odczytania.
Przypadki testowe
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)+1ciągi.
Sjako listę postaci?