Beschouw deze lijst met blauwe en rode ballen: ["🔴", "🔵", "🔵", "🔴", "🔴", "🔵"]
. Als we bij elke bal tellen hoeveel blauwe ballen er rechts van die liggen, de bal zelf ook meegeteld, dan bekomt men deze lijst [3, 3, 2, 1, 1, 1]
.
Door van elk getal in deze lijst de rest te nemen bij deling door 2 bekomt men [1, 1, 0, 1, 1, 1]
.
Stel nu dat men zo’n lijst met 0
en 1
waarden krijgt, kan je dan zo’n oorspronkelijke ballenrij opstellen?
Schrijf een functie ballenrij(lijst)
die gegeven een lijst met 0
en 1
waarden, zo’n oorspronkelijke ballenrij retourneert.
Als er meerdere oplossing zijn, volstaat het één oplossing te retourneren.
Bestudeer onderstaande voorbeelden grondig.
>>> ballenrij([1, 1, 0, 1, 1, 1])
["🔴", "🔵", "🔵", "🔴", "🔴", "🔵"]
>>> ballenrij([0, 1, 1, 1, 0, 1, 0, 0])
["🔵", "🔴", "🔴", "🔵", "🔵", "🔵", "🔴", "🔴"]
Bron
Gebaseerd op probleem Ballenrij, Bebras 2024 (Padawan).