Bij het spel Kolonisten van Catan worden elke beurt twee dobbelstenen geworpen om te bepalen welke gebieden van het eiland (voorgesteld door zeshoekige tegels) grondstoffen zullen opleveren. In elk gebied staat een getal geschreven. Dat getal ligt tussen 2 en 12 (grenzen inbegrepen) maar is verschillend van 7. Alleen gebieden waarvan het ingeschreven getal gelijk is aan de som van de ogen van de geworpen dobbelstenen, leveren die beurt grondstoffen op. Er zijn 5 grondstoffen: hout, wol, graan, erts en steen. Een geworpen som van 7 ogen levert geen grondstoffen op.
Gegeven is een reeks landtegels (gebieden) van het eiland Catan (elk met hun eigen getal en grondstoffensoort) die samen het bord van een spel Kolonisten van Catan vormen. Je opdracht bestaat erin om de meest schaarse grondstof te bepalen op dit bord, zijnde de grondstof die statistisch gezien het minst zal opgeleverd worden. Een voorbeeld: een bord dat drie tegels met de grondstof gras bevat die gelabeld zijn met de getallen 2, 8 en 8 zal statistisch gezien meer gras opleveren dan een bord met slechts twee tegels met gras die gelabeld zijn met de getallen 2 en 8. Indien twee of meer grondstoffen allebei het minst kans hebben om opgeleverd te worden, verkies dan van die grondstoffen de grondstof met het minste tegels op het bord. In dit laatste geval garanderen we dat er een unieke grondstoffensoort is die minder voorkomt dan de rest.
Achtergrond kansrekenen: De kans dat je met twee dobbelstenen een 2 werpt is 1/36 (dit kan alleen als beide ogen 1 zijn, met kans 1/6 + 1/6). De kans dat je een 3 werpt is 2/36 (1 + 2 of 2 + 1, elk met een kans van 1/6 + 1/6, voor een totaal van 2/36), enzovoort. De kans dat je een 12 werpt is gelijk aan de kans dat je een 2 werpt.
Schrijf een functie minsteKans die voor een gegeven spelbord van de Kolonisten van Catan bepaalt welke grondstof het minste kans heeft om iets op te leveren. Aan deze functie moet een string doorgegeven worden die de tegels van het spelbord omschrijft. Elke tegel wordt omschreven door een letter die de grondstof op de tegel omschrijft (bijvoorbeeld H voor hout, W voor wol, G voor graan, E voor erts en S voor steen), gevolgd door een natuurlijk getal tussen 2 en 12 (grenzen ingrepen). De verschillende omschrijvingen van de tegels van het spelbord worden telkens van elkaar gescheiden door één enkele spatie. In tegenstelling tot het echte spel, kan in deze opgave een bord bestaan uit een willekeurig aantal tegels (minstens 1) en kunnen er meer dan 2 tegels zijn met hetzelfde getal of dezelfde grondstof. Er kunnen ook meer of minder letters voor grondstoffen voorkomen ten opzichte van het originele spel. De functie moet de letter van de grondstof teruggeven die het minste kans maakt om iets op te leveren. Indien er meerdere grondstoffen zijn met een minimale kans, dan moet de functie die grondstof teruggeven waarvoor het aantal tegels minimaal is.
>>> minsteKans('W2 H12 W4 E5 S4 G2 H5 W8')
'G'
>>> minsteKans('S4 E6 W8 H9 G12 E3 W4 S2 G5 H5')
'S'
>>> minsteKans('E2 H6')
'E'
>>> minsteKans('W4 H4 W4')
'H'