Een hand kaarten wordt voorgesteld via een lijst van strings, waarbij een kaart als volgt gecodeerd wordt als string:
'H3'
en 'SB'
respectievelijk voor harten 3 en schoppen boer.
In een bepaald kaartspel is het de bedoeling om zo weinig kaarten over te houden, en hiertoe mag een speler een paar kaarten verwijderen. Dit paar MOET een paar zijn van kaarten met dezelfde kleur EN dezelfde waarde ('H3' en 'R3' is een dergelijk paar). Harten (H) en ruiten (R) zijn hierbij rood, en schoppen (S) en klaveren (K) zwart.
Schrijf een recursieve methode verwijder_paren()
met als enig argument een lijst van strings, die een hand kaarten voorstelt
zoals hierboven beschreven. Je mag aannemen dat elke kaart hoogstens 1 keer voorkomt in deze argument lijst. Het resultaat van de functie is een lijst van
kaarten, waaruit alle paren die kunnen verwijderd worden (rekening houdend met bovenstaande regels) ook verwijderd werden.
Op deze verwijdering na, is de resultaatlijst identiek aan de argumentlijst (dus de volgorde van kaarten die niet verwijderd werden, blijft behouden).
verwijder_paren(['H1', 'S7', 'RB', 'R1', 'R2', 'HB' ]) = ['S7', 'R2']